美文网首页
SSH 多账号免密登录

SSH 多账号免密登录

作者: 萧格 | 来源:发表于2019-12-23 23:34 被阅读0次

    首先要理解 ssh 原理,参考 SSH原理与运用,这里有详细介绍。

    远程免密登录

    • 在本地生成 ssh 密钥
    ssh-keygen -t rsa -f ~/.ssh/id_rsa_remote -C "comment"
    

    一路回车即可,此命令结束后,将在目录 ~/.ssh 下生成文件 id_rsa_remote.pub(本地公钥) 和 id_rsa_remote(本地私钥) 两个文件。

    参数说明
    参数 描述
    -t 加密方式:RSADSA 两种密钥
    -f 指定密钥文件名(不带 -f 参数默认生成文件 id_rsa_remote.pubid_rsa_remote )
    -C 提供一个新注释
    • 添加登录配置
      在目录 ~/.ssh 下新建或修改 config 文件,添加如下信息:
    Host            remote
    HostName        10.10.10.10 # 远程IP地址
    Port            22 # 端口号 默认22
    User            test # 登录用户
    IdentityFile    ~/.ssh/id_rsa_remote # 为生成 `ssh` 密钥时 `-f` 参数后的文件
    
    • 将公钥传递到远程服务器上
    ssh-copy-id -i ~/.ssh/id_rsa_remote test@10.10.10.10
    ssh-copy-id -i ~/.ssh/id_rsa_remote test@10.10.10.10 -p 10020
    

    此命令将会把本地公钥 id_rsa_remote.pub 的内容,写入到远程服务器目录 ~/.ssh 下的 authorized_keys 文件中。

    • 免密登录远程服务器
    ssh remote # remote 是本地 ~/.ssh/config 文件中配置的 Host 的值
    

    如果还是不行,就打开远程主机的 /etc/ssh/sshd_config 这个文件,检查下面几行前面"#"注释是否取掉。

    RSAAuthentication yes # 没有该值则添加
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys
    

    重启远程 ssh 服务

    // contos系统
    service sshd restart
    
    // ubuntu系统
    service ssh restart
    
    // debian系统
    /etc/init.d/ssh restart
    

    如需配置多个 ssh 远程免密登录,只要重复以上步骤,改下生成 ssh 密钥步骤中的 -f 参数

    相关文章

      网友评论

          本文标题:SSH 多账号免密登录

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