eg:尝试给Github配一个ssh。首先需要做的就是在命令行中输入以下指令
复制id_rsa.pub到对应的Git服务器即可。
但是也存在另一种需要,我们在同一个网站上,注册了两个或者多个用户名,通常网站不会允许我们为这两个用户名,配置同一个SSH Key,这时候就会有些麻烦。
a. 一个gitee,用于A项目的一些开发活动;
b. 一个github,用于B项目的一些开发活动;
c. 一个gitlab,用于C项目的一些开发活动;
针对不同的账户,生成一个不同用途的SSH-Key,然后进行相关的配置即可。
下面以mac 设备为例:
1.生成对应的SSH-Key:
生成一个gitee用的SSH-Key
生成一个github用的SSH-Key
生成一个gitlab用的SSH-Key
2.在 ~/.ssh 目录下新建一个config文件(终端:touch config),添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
3.然后进入 ~/.ssh ,拷贝不同的xxx_id_rsa.pub到不同的服务器进行配置,eg:拷贝 github_id_rsa.pub 内容,然后,进入Github,在Your profile里,点击左边SSH keys,再在右边点击Add SSH key按钮,如图:
其中,Title随便填,将id_rsa.pub里的内容复制到Key中,点击下方的Add key按钮。
4.用ssh命令分别测试
这里以gitee为例,成功的话会返回下图内容:
github帐号添加SSH keys1
生成 ssh keys
1、任意目录下右击鼠标选择Git Bash Here或者win+r输入cmd回车打开终端;
2、在改终端下输入命令:
ssh-keygen -t rsa -C "youname@example.com"
这时可以一路回车,不输入任何字符,将会在C:\Users\Administrator\.ssh下自动生成id_rsa和id_rsa.pub文件。
注意:双引号换成自己的邮箱,如果linux下遇到权限问题,只需在前面加上sudo
2
github添加SSH keys
将id_rsa.pub里面的内容复制下来,在github上的settings里面找到add keys,将其粘贴到key即可,title唯一即可随便填,建议写有意义的
具体过程如图:
3
测试
在控制台上测试一下,输入:
ssh -T git@github.com
只要看到最后一行Hi chenlianjiang! You've successfully authenticated, but GitHub does not provide shell access,说明验证成功了
END
gitlib帐号添加SSH keys
生成 ssh keys
这时候在生成ssh key时候要注意了这时一路回车,不输入任何字符在绑定gitlibng的ssh key时,会发现将github的ssh key覆盖了;不要着急,下面跟着我一起 *** 作。
打开终端,终端下输入命令:
ssh-keygen -t rsa -C "youname@example.com"
这时,给这个文件起一个名字, 比如叫C:\Users\Administrator\.ssh\ id_rsa_gitlib, 所以相应的也会生成一个 id_rsa_gitlib.pub 文件。
注意这里如果只输入文件名会在终端的当前目录下生成,拷贝到对应位置即可;
添加私钥
终端输入一下命令:
$ ssh-add ~/.ssh/id_rsa
$ ssh-add ~/.ssh/id_rsa_gitlib
ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add
如果出现Could not open a connection to your authentication agent.错误提示先执行$ ssh-agent.exe bash,然后执行上面命令;
-D:删除ssh-agent中的所有密钥.
-d:从ssh-agent中的删除密钥
-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。
-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。
-L:显示ssh-agent中的公钥
-l:显示ssh-agent中的密钥
-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥
-X:对ssh-agent进行解锁
-x:对ssh-agent进行加锁
添加配置文件
在~/.ssh/目录下新建config文件,并添加如图所示内容:
gitlib添加SSH keys
将id_rsa_gitlib.pub里面的内容复制下来,在gitlib上的账户里面找到所示SSH keys,将其粘贴到key内容即可,Title唯一即可随便填,,点击添加需要输入登录密码;
具体过程如图:
测试
在控制台上测试一下,输入:
ssh -T git@域名
只要看到最后一行Welcome to GitLab, chenlj!,说明验证成功了
生成两个key
生成两个key后,添加到对应服务器的 ssh kyes管理设置 中。
本地添加私钥
本地添加私钥名命令ssh-add ~/.ssh/Your Key Name,如果出现“Could not open a connection to your authentication agent”的问题,可以执行命令ssh-agent bash,再运行添加命令。另外,可用通过
3.一点说明
以上的我采用的是oschina的码云和github的两种kye的结合体,其中每段最后的IdentityFile跟着是你自己ssh key的名字,不要搞错了。
最后就是测试咯
oschina的测试方法ssh -T git@git.oschina.net;成功收到的回复为“Welcome to Git@OSC,‘Your Name’ ”
github的测试方法ssh -T git@github.com成功收到的回复为”Hi ’Your Name‘ ! You’ve successfully authenticated, but GitHub does not provide shell access.“
借鉴文章
git 配置多个SSH-Key
管理git生成的多个ssh key
---------------------本文来自 来不及解释了快上车 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u012365926/article/details/52293036?utm_source=copy
这是我修改配置文件时的 *** 作:
1.在~/.ssh目录下新建一个config的文件
2.添加以下内容
结果出现报错:
问题原因
~/.ssh/config文件缩进有问题
解决方案
检查该配置文件,把每一行配置前的空格都去掉
需要注意的是,如果config文件中只配置一个host对应的账号的话,缩进是无所谓的,都可以正常使用。但是有多个配置的话,配在后面的账号就会受影响。所以都修改一下,不要有空格。
---------------------本文来自 庭然 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/lili625/article/details/77833684?utm_source=copy
附我~/.ssh/config文件修改好后的例子:
3.添加私钥时发生如下错误
输出错误: Could not open a connection to your authentication agent
解决此问题的方法是执行下
然后再次执行ssh-add ~/.ssh/id_rsa就可以顺利执行了
http://outofmemory.cn/code-snippet/37443/git-ssh-add-.ssh-id_rsa-Could-not-open-a-connection-to-your-authentication-agent
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)