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
最后一点重要建议:当你用密码登录服务器,修改好了后,千万不要关闭当前命令框。另起一个对话框来验证证书登录。不然你稍有不慎就登不上服务器了。
相关文章
- ASP .Net Core系统部署到 CentOS7 64 具体方案
- linux之CentOS7在线安装Mysql
- CentOS7安装xrdp(Windows远程桌面连接Linux)
- Centos7安装redis5.0.7
- Centos7 下安装Redis4.0.6
- Centos7 k8s v1.5.2二进制部署安装-k8s组件
- Centos7安装部署openstack--启动实例
- [Linux] CentOS7搭建Nginx + MySQL + PHP
- Linux复习资料——CentOS7下安装MySQL5.7.22(完整版本)
- centos7下安装TensorFlow1.15 for Python2.7
- 【VCS+Verdi联合仿真 之 学习记录】~ 关于CentOS7的相关学习