360网站挂马检测,大师摄影作品网站,dw中网站统计总访问量怎么做,金普新区城乡建设局网站#x1f4e2;#xff1a;如果你也对机器人、人工智能感兴趣#xff0c;看来我们志同道合✨ #x1f4e2;#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 #x1f4e2;#xff1a;文章若有幸对你有帮助#xff0c;可点赞 #x1f44d;… 如果你也对机器人、人工智能感兴趣看来我们志同道合✨ 不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 文章若有幸对你有帮助可点赞 收藏 ⭐不迷路 内容若有错误敬请留言 指正原创文转载请注明出处 文章目录 一、前言二、配置多个SSH Key步骤1、生成多对秘钥步骤2、保存多个SSH Key步骤3、 添加公钥到远程仓库平台步骤4、测试SSH连接步骤5、拉取远程demo 三、解决SSH公钥未生效的问题 一、前言
SSH简介 SSH是Secure Shell安全外壳协议的缩写建立在应用层和传输层基础上的安全协议。为了便于访问github要生成ssh公钥这样就不用每一次访问github都要输入用户名和密码。简单来说就是方便我们拉取推送代码。
配置多个SSH Key的原因 大多数时候我们的会有很多的git host比如公司gitlab、github、oschina等那我们就需要在本地配置多个ssh key通过为不同的Host配置不同的IdentityFile可以让Git在不同平台使用多个SSH Key进行认证和授权。做法如下以公司gitlab和github为例
二、配置多个SSH Key
步骤1、生成多对秘钥
1、为公司生成一对秘钥ssh key
ssh-keygen -t rsa -C 邮箱 -f ~/.ssh/gitlab_rsa2、为github生成一对秘钥ssh key
ssh-keygen -t rsa -C 邮箱 -f ~/.ssh/github_rsa3、为gitee生成一对秘钥ssh key
ssh-keygen -t rsa -C 邮箱 -f ~/.ssh/gitee_rsa注意三个邮箱要不相同但是邮箱没有必要跟注册时候完全一致
步骤2、保存多个SSH Key
为了使用多个SSH Key你需要为每个Key创建不同的配置用于配置多个不同的host使用不同的ssh key。在~/.ssh目录下打开或创建一个名为config的文件无后缀名并添加以下内容示例 其中Hos和HostName填写git服务器的域名IdentityFile指定私钥的路径。经过实测发现也可以不用这个config。
步骤3、 添加公钥到远程仓库平台
将生成的公钥id_rsa.pub 或者其他指定的公钥文件内容复制到相应的远程仓库平台的账户设置中。不同平台的步骤可能略有不同但一般都会提供一个界面来添加SSH Key。
步骤4、测试SSH连接
运行以下命令来测试SSH连接是否配置正确
ssh -T gitgithub.com #使用github的Key
ssh -T gitgitlab.com #使用gitlab的Key如果显示类似 “Hi username! You’ve successfully authenticated” 的欢迎消息说明连接成功。 否则就是失败的 验证通过后即可愉快的clone代码了。
步骤5、拉取远程demo
首先复制想要拉下来的demo地址然后在配置好公钥之后就可以拉取远程仓库的demo了命令如下
Git clone 仓库地址三、解决SSH公钥未生效的问题
配置公钥的目的是为了在clone远程demo的时候不需要输入密码但是很多时候会碰到即使配置了公钥还需要密码的情况这是为什么 问题描述配置了ssh秘钥但在登录时还是需要密码考虑是不是秘钥设置错误了即解决SSH免密登录配置成功后不生效的问题。 解决方法如果在使用SSH公钥进行身份验证时Git 仍然要求输入密码有几种可能的原因 公钥未正确添加到GitLab请确认将正确的公钥例如 id_rsa.pub添加到 GitLab 账户的 SSH Keys 中。检查公钥文件的内容是否正确复制到了 GitLab 界面上并保存。 SSH代理未正确配置SSH代理可能没有正确加载SSH密钥。尝试重新加载SSH密钥可以运行以下命令 ssh-add -D # 清除现有的 SSH 密钥ssh-add # 重新加载 SSH 密钥SSH配置文件有误再次检查 ~/.ssh/config 配置文件确保Host、HostName、User 和 IdentityFile 的设置无误。确认文件路径和文件名是否与实际的私钥文件相匹配。 Git仓库URL错误确保在Git克隆命令中使用了正确的SSH URL例如
git clone gitgitlab.com:username/repository.gitGitLab服务器配置问题在某些情况下GitLab服务器可能存在一些配置问题导致身份验证失败。请确保GitLab网站上的SSH设置正确启用了SSH密钥身份验证并且没有其他限制。
如果以上解决方法都不起作用建议检查系统日志或GitLab的错误日志以获取更多详细的错误信息命令如下。
ssh -vvv gitgitlab.com 同理如果在其他远程仓库没有连上也可以基于上述命令调出日志来检查一下。 首先通过上述命令查看日志发现存在的问题找不到公钥的文件说明命名方式出问题了。 那么更改成它索引的文件名即可。根据上图提示我们将.ssh中的公钥文件的名字改为了id_dsa。然后再clone发现可以用了能连的上了。经过实测三个平台均可以进行顺利的clone操作。 根据上面的方法我们可以得出结论出现仍要密码的问题时第一步先去看看日志找出病因然后对症下药其中config文件并不是必须得看网上的说法这个跟版本有关新版的git都可以不用config但是加上了会对clone有影响。