美文网首页
ubuntu 添加多个ssh公钥和私钥

ubuntu 添加多个ssh公钥和私钥

作者: else05 | 来源:发表于2018-06-08 23:31 被阅读196次

    主机之间可能通过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!

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

    相关文章

      网友评论

          本文标题:ubuntu 添加多个ssh公钥和私钥

          本文链接:https://www.haomeiwen.com/subject/nodzsftx.html