CentOS配置密钥登录

本地操作

首先需要在本地生成密钥对,Windows操作与Unix操作相似,本篇以Windows为例
打开cmd,输入ssh-keygen -t rsa

06871-zbyeyah636j.png

连续回车直到结束,id_rsa.pub是公钥,id_rsa是私钥
复制生成的公钥,文件地址在输出的信息中有显示,图中的就为C:\Users\yimi/.ssh/id_rsa.pub

服务器操作

进入服务器进行相同的操作生成密钥对 ssh-keygen -t rsa

28533-xe83079uts.png

在服务器中存放密钥对的文件夹中(一般是.ssh目录,图中所示为/root/.ssh/)新建一个authorized_keys文件,将本地生成的密钥对的公钥内容复制进去,也就是本地生成的id_rsa.pub文件内容,如果之前因为某些原因已经建立authorized_keys文件的话直接在后面追加内容即可

19361-h8snbrero85.png

修改sshd服务允许密钥登录

vi /etc/ssh/sshd_config

修改成以下项(找到相应被注释掉的配置删掉注释,或者直接在末尾追加也行)

## 开启私钥登录[RSAAuthentication (rsa认证)是只支持第一代SSH通讯协议使用的配置项,在CentOS7.3之后的版本中被废除了,因为默认使用第二代协议了]
RSAAuthentication yes
## 开启 公私钥登录认证
PubkeyAuthentication yes
## root 用户能否通过 SSH 登录
PermitRootLogin yes
## 添加 公钥的保存文件
AuthorizedKeysFile .ssh/authorized_keys

关闭密码登录(可选

PasswordAuthentication no

重启服务器sshd服务

service sshd restart

如果服务器版本过高可能会要求使用

systemctl restart sshd

如果以上配置都配置好后仍无法连接,尝试给.ssh目录700权限

赋予.ssh文件夹700权限

chmod 700 ~/.ssh

修改为指定用户的ssh目录,这里以root用户为例

Sitemap · Rss

津ICP备2021004480号-3