ssh实现无密码登录

ssh实现无密码登录

本地机配置

如果本机已经有ssh key, 请忽略这一步, 如果还没有需要同过下面的命令生成:

1
2
3
ssh-keygen
\\或者
ssh-keygen -t rsa

这里一路回车。生成ssh 密钥后,可以到~/.ssh目录下查看, 该目录下有两个文件id_rsa(私钥)和id_rsa.pub(公钥),
-t rsa 是设置生成密钥的算法, 如果使用-t dsa,生成的文件名分别是:id_dsa、,id_dsa.pub`。
还可以通过-C参数添加密钥的注释例如:

1
ssh-keygen -t rsa -C "<注释>"

远端服务器

  1. 查看是否存在~/.ssh目录,查看是否已经有ssh key。如果没有执行上一步操作的命令。
  2. 创建好SSH 密钥后,创建authorized_keys,该文件是授权文件。编辑该文件:
    1
    vim authorized_keys

将本地机器的id_rsa.pub文件内容粘贴到authorized_keys文件。

配置无密码登录

切换到root账户。编辑以下配置文件:

1
vim /etc/ssh/sshd_config

去掉如下三行注释#:

1
2
3
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys

重启sshd服务:

1
2
3
4
service sshd restart

\\CentOS
systemctl restart sshd.service

登录

1
ssh -l bot 192.168.0.1

这个时候应该可以直接登录了。