分享

CentOS 7 SSH使用证书登录

HenJi · 2月23日 · 2019年 · · 6128次已读

在某次服务器莫名奇妙的被入侵并且中了勒索病毒之后开始对安全重视起来。
我一直以为小站没人爱折腾,没想到还是中招了。话不多说,上教程……

1、本机生成一对密匙

ssh-keygen

会提示输入密匙存放位置(默认在/root/.ssh/,直接回车即可)、密码、重复密码(一路回车过去)。
完成后会在/root/.ssh/目录下生成两个文件,id_rsa为私钥,id_rsa.pub为公钥。

2、导入公匙

将公匙添加到authorized_keys文件中

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3、设置权限

设置正确的文件和目录权限

chown -R 0700  ~/.ssh
chown -R 0644  ~/.ssh/authorized_keys

4、修改SSH配置

修改sshd_config文件配置参数vi /etc/ssh/sshd_config

# 允许密钥认证
RSAAuthentication yes
PubkeyAuthentication yes
StrictModes no
# 公钥保存文件
AuthorizedKeysFile .ssh/authorized_keys
# 禁止使用密码登录
PasswordAuthentication no

修改完成之后重启SSH服务

systemctl restart sshd.service

经过以上配置就可以使用证书登录SSH,同时禁止密码登录。
使用的话,下载/root/.ssh/id_rsa到本地,windows推荐使用FinalShell。
添加SSH连接的时候在认证方法那里选择公匙,然后在私匙那里选择你保存到本地的id_rsa文件即可。

0 条回应