SSH 多账号免密登录

首先要理解 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 参数

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容