Centos7ssh使用证书登录加固
对于没有固定IP,防火墙不好配置时,使用密码又容易给hacker暴力破解。
针对这种情况,可以取消密码登录,进而使用证书认证来登录。加强了远程登录的安全性
环境
[root@aliyunrg .ssh]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@aliyunrg .ssh]#
1、生成密钥:
ssh-keygen -t rsa
[root@aliyunrg ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:onJuSYVI4CKNLgFphRWorCCglpoDnQJsuyj3NdF0VIE root@aliyunrg
The key's randomart image is:
+---[RSA 2048]----+
|+o=+. ..oo. |
|*O. . E |
|&++o . o . |
|@*+ . o . |
|X+. ...S |
|O.. ..o. |
|.o.ooo . |
| ++ |
| .. |
+----[SHA256]-----+
[root@aliyunrg ~]#
2、在CRT生成公秘钥
3、直接下一步
4、使用默认的RSA算法就行了
5、证书的密码
6、使用2048即可,当然 设置512到16384长度内的是允许的
7、生成中……
8、openssh服务器 我们就选择中间的选项
9、不启动全局使用
10、将这个文件的内容复制到服务器上的/root/.ssh 下的 authorized_keys
authorized_keys 如果不存在就自己生成一个 注意权限是600
二 修改ssh配置
vi /etc/ssh/sshd_config
去掉这个两个的注释 启动证书认证
RSAAuthentication yes
PubkeyAuthentication yes
这个字段设置为no,禁用密码登录
PasswordAuthentication yes
修改成
PasswordAuthentication no
:wq 保存退出文件
重启SSH服务
systemctl restart sshd
1、这时 你在新终端连 输入正确的密码 就会提示你使用秘钥登录
2、修改sshd客户端的连接配置
- 将PublicKey移动到第一个
- 去掉Passwd的勾
3、选中你秘钥保存的路径 按OK保存配置
4、再试尝试连接 输入一开始设置的“证书密码”
第一次连接要输入 之后就不用了
5、查看日志 可以看出我们是使用证书登录
教程结束
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:Centos7ssh使用证书登录加固
本文作者:wangzhirui
发布时间:2019-09-09, 11:22:56
最后更新:2025-02-27, 02:03:54
原始链接:https://wangzhirui.com/2019/09/09/Centos7ssh使用证书登录加固/转载请保留原文链接及作者。