SSH的配置文件中加密算法沒有指定,默認支持所有加密算法,包括arcfour,arcfour128,arcfour256等弱加密算法。但是目前RC4是不安全算法
1、#root權限用戶才能執行
[root@zhjlrac2 ~]# ls -l /etc/ssh/sshd_config
-rw------- 1 root root 3717 Feb 4 2021 /etc/ssh/sshd_config
2、#備份
[root@zhjlrac2 ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[root@zhjlrac2 ~]# ls -l /etc/ssh/sshd_config.bak
-rw------- 1 root root 3717 Aug 24 15:04 /etc/ssh/sshd_config.bak
3、#修改
/*
#添加下面一行,屏蔽弱加密算法,最后添加一下內容(去掉 arcfour arcfour128 arcfour256 等弱加密算法)
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc
#ssh_config和sshd_config都是ssh服務器的配置文件,二者區別在於,前者是針對客戶端的配置文件,后者則是針對服務端的配置文件。
*/
[root@zhjlrac2 ~]# vi /etc/ssh/sshd_config
#新增一行
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc
4、#更新之后檢查,直接返回無異常則可以重啟
[root@zhjlrac2 ~]# sshd -t
/etc/ssh/sshd_config line 113: Bad yes/no argument: sandbox
#將113 行注釋掉,否則可能重啟失敗
[root@zhjlrac2 ~]# vi /etc/ssh/sshd_config
#正常了
[root@zhjlrac2 ~]# sshd -t
5、#保存重啟生效
[root@zhjlrac2 ~]# /etc/init.d/sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@zhjlrac2 ~]# exit
logout
6、#退出root,普通用戶驗證
/* 多種驗證方式
nmap 、Nessus 等工具可以進行驗證,這里用 ssh 登陸驗證,nmap更直觀
ssh -vv -oCiphers=aes128-cbc,3des-cbc,blowfish-cbc 服務器ip
ssh -vv -oMACs=hmac-md5 服務器ip
nmap --script ssh2-enum-algos -sV -p 22 172.24.20.10
ssh -vv -oCiphers=aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc zgy@172.24.20.10
*/
也可如下 arcfour128 無法登陸就可以了
ssh -vv -oCiphers=arcfour128 zgy@172.24.20.10
...
debug2: kex_parse_kexinit: reserved 0
no matching cipher found: client arcfour128 server aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,aes256-cbc