Centos7ssh使用证书登录加固

  1. 二 修改ssh配置

对于没有固定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生成公秘钥

1-2.png

3、直接下一步

1-3.png

4、使用默认的RSA算法就行了

1-4.png

5、证书的密码

1-5.png

6、使用2048即可,当然 设置512到16384长度内的是允许的

1-6.png

7、生成中……

1-7.png

8、openssh服务器 我们就选择中间的选项

1-8.png

9、不启动全局使用

1-9.png

10、将这个文件的内容复制到服务器上的/root/.ssh 下的 authorized_keys
authorized_keys 如果不存在就自己生成一个 注意权限是600

1-10.png

二 修改ssh配置

vi /etc/ssh/sshd_config

去掉这个两个的注释 启动证书认证

RSAAuthentication yes
PubkeyAuthentication yes

这个字段设置为no,禁用密码登录

PasswordAuthentication yes
修改成
PasswordAuthentication no

:wq 保存退出文件

重启SSH服务

systemctl  restart sshd

1、这时 你在新终端连 输入正确的密码 就会提示你使用秘钥登录

2-1.png

2、修改sshd客户端的连接配置

  • 将PublicKey移动到第一个
  • 去掉Passwd的勾

2-2.png

3、选中你秘钥保存的路径 按OK保存配置

2-3.png

4、再试尝试连接 输入一开始设置的“证书密码”
第一次连接要输入 之后就不用了

2-4.png

5、查看日志 可以看出我们是使用证书登录

2-5.png

教程结束


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:Centos7ssh使用证书登录加固

本文作者:wangzhirui

发布时间:2019-09-09, 11:22:56

最后更新:2025-02-27, 02:03:54

原始链接:https://wangzhirui.com/2019/09/09/Centos7ssh使用证书登录加固/

转载请保留原文链接及作者。

目录