zoukankan      html  css  js  c++  java
  • ubuntu 添加多个ssh公钥和私钥

    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
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  • 相关阅读:
    45到数据库查询题
    Error: Could not link: /usr/local/share/doc/homebrew
    根据两点坐标,计算连线与坐标轴间的夹角(弧度、角度)
    excel2json
    Mac下的unity兼容问题,打开项目提示错误:!GetPersistentManager().IsStreamLoaded(assetPath)
    Linker Command failed with exit code 1
    module.exports与exports区别
    Nginx配置SSL证书部署HTTPS方法
    Option path is not valid. Please refer to the README.
    javascript中call()、apply()、bind()的用法终于理解
  • 原文地址:https://www.cnblogs.com/djwhome/p/12743357.html
Copyright © 2011-2022 走看看