centos7证书安全登录
生成一对密钥,本地私钥匹配线上主机的公钥进行登录,比密码登录更加安全方便。
本文适用MAC/Linux的本地环境
1.本地生成一对密钥
ssh-keygen -t rsa
2.把生成的公钥上传到线上主机内
scp ~/.ssh/id_rsa.pub root@你的主机ip:/root/.ssh
3.把公钥内容添加到authorized_keys文件内
cd /root/.ssh
cat id_rsa.pub >> authorized_keys
4.修改sshd.config文件的配置
vim /etc/ssh/sshd.config
Protocol 2 //使用协议2,比协议1安全
PasswordAuthentication no //禁止密码登录
RSAAuthentication yes //使用rsa证书登录
PubkeyAuthentication yes
PermitRootLogin yes //允许root登录(看个人选择,不强制要求)
AllowUsers root lyw //允许证书登录的用户(如果你的主机有多个用户)
5.重启sshd.config文件
systemctl restart sshd.service
6.以上流程上是对于root用户的证书登录,对于其他普通用户大致流程相同,但有以下补充
周末试了好几次,root用户可以登录,但是普通用户总是permit define(xxxxx),查阅了才知道普通用户没有读取到证书的权限,做以下设置
chomd 700 ~/.ssh
chomd 600 ~/.ssh/authorized_keys
最后一点重要建议:当你用密码登录服务器,修改好了后,千万不要关闭当前命令框。另起一个对话框来验证证书登录。不然你稍有不慎就登不上服务器了。