原理
客户端自己生成公钥私钥,然后将客户端公钥保存到服务器 ~/.ssh/authorized_keys
文件中,以后服务器都会接受客户端传过来的会话经过密钥加密过的公钥,然后解密得到公钥之后和本地 authorized_keys
配置的公钥是否相等,如果是则允许登陆。
操作步骤
- 获取客户端公钥
1 | $ cat ~/.ssh/id_rsa.pub |
如果不存在,通过
ssh-keygen
生成密钥对
1 | $ ssh-keygen |
- 将公钥保存到服务端
1 | vi ~/.ssh/authorized_keys |
- 测试是否可以登录
1 | ssh root@10.138.225.12 |
如果出现报错信息 ssh_exchange_identification: read: Connection reset by peer
,服务端执行:
1 | echo "sshd:10.x.*.*" >> /etc/hosts.allow |