美文网首页
配置SSH秘钥登陆远程服务器

配置SSH秘钥登陆远程服务器

作者: Tidus | 来源:发表于2020-01-14 14:33 被阅读0次

    基于密钥验证的SSH连接方式

    用客户端生成的非对称加密对,将公钥放到远程服务器上后,即可代替基于用户名密码的身份验证方式连接远程服务器。
    原理参考:ssh免密码登陆及其原理

    配置步骤

    1. 在本地生成SSH私钥、公钥
    $ cd ~/.ssh
    $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
    1. 添加秘钥到ssh-agent
    # -K 选项位于 Apple 的 ssh-add 标准版本中,
    # 当您将 ssh 密钥添加到 ssh-agent 时,它会将密码存储在您的密钥链中。
    ssh-add -K ~/.ssh/xxxx_id_rsa
    
    1. 如果本地已经有多个加密对,可以使用config文件管理
    # @ ~/.ssh/config
    # GitLab.com server
    Host gitlab.com # 服务器别名,ssh时优先解析这里配置的服务器名
    HostName gitlab.com # 服务器ip或域名
    AddKeysToAgent yes
    UseKeychain yes
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/config/private-key-filename-01
    
    # Private GitLab server
    Host gitlab.company.com
    HostName gitlab.company.com
    AddKeysToAgent yes
    UseKeychain yes
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/config/private-key-filename
    

    可参考:利用 SSH 的用户配置文件 Config 管理 SSH 会话

    1. 添加公钥到目标服务器上
    # scp 到目标服务器上
    scp ./xxxx_id_rsa.pub user@ip:/user/.ssh/
    # 目标服务器上将拷贝过去的公钥追加到authorized_keys中
    cat ./xxxx_id_rsa.pub >> authorized_keys
    

    相关文章

      网友评论

          本文标题:配置SSH秘钥登陆远程服务器

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