ubuntu 添加多个ssh公钥和私钥

2018-06-08  本文已影响196人  else05

主机之间可能通过ssh私钥的方式进行访问,有时需要添加多个私钥,记录一下,免得自己忘了
这里用 码云 作例子

一. 生成公钥和私钥

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
  1. 会有三提示输入,第一次是生成的文件名字,第二次和第三次是输入密码,可以直接回车三次则不设置密码
  2. 如果没有自定义名字则会在当前目录下生成id_rsa.pub(公钥)和id_rsa(私钥)文件 ,

二. 添加私钥

ssh-agent bash
# ssh-add 私钥名称
ssh-add id_rsa
  1. 注意:记得要先执行ssh-agent bash,不然可能会报错Could not open a connection to your authentication agent.
  2. 添加成功后会提示Identity added: id_rsa (id_rsa)

附加:

#查询私钥列表
ssh-add -l
#清空私钥列表
ssh-add -D

~/.ssh 下添加 config文件 ,

cd  ~/.ssh
touch  config
chmod  600  ~/.ssh/config

注意:权限记得要改为600,否则可能会无效
在文件里添加如下内容

# oschina
Host         gitee.com
HostName     gitee.com
User 用户名
IdentityFile ~/.ssh/私钥文件名

如果是主机,只有ip和端口没有域名则使用如下格式添加, 如下添加后,可以用 ssh host别名 直接连接上

#主机服务器  , 
Host         别名
HostName     填入云服务器ip
Port         22
User    用户名
IdentityFile ~/.ssh/私钥文件名

三. 添加公钥到

  1. 打开自己的项目,点 '管理' - '添加公钥' ,把id_rsa.pub 里面的内容粘贴上去后点 '添加'
    image.png
  2. 如果是主机服务器,则在~/.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
  1. 如果提示如下 请输入 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)?
  1. 连接成功会返回 Welcome to Gitee.com, yourname!

要注意上面文件的权限,否则不会生效
参考:
上一篇下一篇

猜你喜欢

热点阅读