SSH配置密钥登陆
密钥说明 #
A 使用密钥连接 B
A 与 B 都需要生成密钥对
在 SSH 连接中,服务器需要验证客户端发送的公钥。为了完成这个过程,服务器需要保存客户端的公钥。因此,服务器也需要生成一对密钥(公钥和私钥),并将其公钥部分添加到其所认可的客户端列表中,以便进行客户端的身份验证。所以 A 与 B 都需要进行生成密钥。
- id_rsa.pub 为公钥
- id_rsa 为密钥
生成密钥 #
ssh-keygen -t rsa
Windows 路径:C:\Users\用户名\.ssh\id_rsa.pub
Linux 路径:~/.ssh/id_rsa.pub
配置密钥 #
在 B 的.ssh
目录下新建authorized_keys
(已存在则追加)内容为 A 的 id_rsa.pub
SSH 配置修改 #
CentOS/Debian #
编辑 sshd 配置文件
vi /etc/ssh/sshd_config
修改成以下项(找到相应被注释掉的配置删掉注释,或者直接在末尾追加也行)
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
AuthorizedKeysFile .ssh/authorized_keys
如需关闭密码登陆
PasswordAuthentication no
重启 ssh 服务
service sshd restart
高版本的 CentOS 为
systemctl restart sshd
如果以上配置都配置好后仍无法连接,尝试给.ssh 目录 700 权限
chmod 700 ~/.ssh