SSH 多账号免密登录

2019-12-23  本文已影响0人  萧格

首先要理解 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 提供一个新注释
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 参数

上一篇下一篇

猜你喜欢

热点阅读