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
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。