https://www.jianshu.com/p/fe215c52c534
https://blog.csdn.net/qq_39385118/article/details/90232880
主机之间可能通过ssh私钥的方式进行访问,有时需要添加多个私钥,记录一下,免得自己忘了
这里用 码云 作例子
一. 生成公钥和私钥
ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
会有三提示输入,第一次是生成的文件名字,第二次和第三次是输入密码,可以直接回车三次则不设置密码
如果没有自定义名字则会在当前目录下生成id_rsa.pub(公钥)和id_rsa(私钥)文件 ,
二. 添加私钥
方法一
ssh-agent bash
ssh-add 私钥名称
ssh-add id_rsa
注意:记得要先执行ssh-agent bash,不然可能会报错Could not open a connection to your authentication agent.
添加成功后会提示Identity added: id_rsa (id_rsa)
附加:
查询私钥列表
ssh-add -l
清空私钥列表
ssh-add -D
方法二
在 ~/.ssh 下添加 config文件 ,
cd ~/.ssh
touch config
chmod 600 ~/.ssh/config
注意:config和私钥的权限记得要改为600,否则可能会无效
在文件里添加如下内容
oschina
Host gitee.com
HostName gitee.com
User 用户名
IdentityFile ~/.ssh/私钥文件名
如果是主机,只有ip和端口没有域名则使用如下格式添加, 如下添加后,可以用 ssh host别名 直接连接上
主机服务器 ,
Host 别名
HostName 填入云服务器ip
Port 22
User 用户名
IdentityFile ~/.ssh/私钥文件名
三. 添加公钥到
打开自己的项目,点 '管理' - '添加公钥' ,把id_rsa.pub 里面的内容粘贴上去后点 '添加'
image.png
如果是主机服务器,则在~/.ssh/authorized_keys 里面添加
如果没有此文件则按如下新建
cd ~
mkdir .ssh
chmod 700 .ssh
cd .ssh
touch authorized_keys
chmod 600 authorized_keys
然后编辑authorized_keys文件 ,换行后把id_rsa.pub 文件中的内容添加到authorized_keys末尾
vim authorized_keys
四. 测试结果
ssh -T git@gitee.com
如果提示如下 请输入 yes 后回车
The authenticity of host 'gitee.com (120.55.226.24)' can't be established.
ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
Are you sure you want to continue connecting (yes/no)?
连接成功会返回 Welcome to Gitee.com, yourname!
要注意上面文件的权限,否则不会生效
参考:
Linux如何管理本地多个公/私钥对
Ubuntu 16.04主机之间ssh免密码登录
ssh管理多个私钥
作者:else05
链接:https://www.jianshu.com/p/fe215c52c534
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。