建議方案
設置ssh空閑超時退出時間,可降低未授權用戶訪問其他用戶ssh會話的風險
加固建議編輯/etc/ssh/sshd_config配置文件,将ClientAliveInterval設置為300到900,即5-15分鐘,将ClientAliveCountMax設置為0。
方法1:1.修改server端的/etc/ssh/sshd_config配置文件
ClientAliveInterval 60 :server每隔60秒發送一次請求給client,然後client響應,從而保持連接。
ClientAliveCountMax 3 :server發出請求後,客戶端沒有響應的次數達到3次,就自動斷開連接,正常情況下,client不會不響應。
[root@Jenkins ~]# vim /etc/ssh/sshd_config
......
112 ClientAliveInterval 60
113 ClientAliveCountMax 3
......
2.修改client端的/etc/ssh/ssh_config添加以下:(在沒有權限修改server端的SSH配置的情況下)
ServerAliveInterval 60 :client每隔60秒發送一次請求給server,然後server響應,從而保持連接。
ServerAliveCountMax 3 :client發出請求後,服務器端沒有響應的次數達到3次,就自動斷開連接,正常情況下,server不會不響應。
[root@Nginx ~]# vim /etc/ssh/sshd_config
......
112 ClientAliveInterval 60
113 ClientAliveCountMax 3
......
3.重啟sshd服務
systemctl restart sshd
不修改配置文件,直接在SSH遠程連接時命令加參數,即ssh -o ServerAliveinterval=60 root@'遠程連接IP地址',這樣就隻會在當前需要的遠程連接中保持持久的連接, 并不是所有的遠程連接都需要保持持久連接的!
[root@Jenkins ~]# ssh -o ServerAliveinterval=60 [email protected]
Last login: Wed May 18 14:53:19 2022 from 192.168.1.30
[root@Web1 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.33 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 240e:39a:39b:cd10:20c:29ff:fec1:8e32 prefixlen 64 scopeid 0x0<global>
inet6 fe80::20c:29ff:fec1:8e32 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:c1:8e:32 txqueuelen 1000 (Ethernet)
RX packets 756 bytes 66547 (64.9 KiB)
RX errors 0 dropped 112 overruns 0 frame 0
TX packets 549 bytes 52204 (50.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
1.編輯/etc/ssh/sshd_config配置文件,将UseDNS修改為no,最好是在尾部添加一行為:UseDNS no
2.關閉GSSAPI認證:GSSAPIAuthentication no,修改完成後記得重啟ssh服務。
[root@Jenkins ~]# vim /etc/ssh/sshd_config
...
79 GSSAPIAuthentication yes
...
115 #UseDNS yes
...
一般情況下當ssh服務遠程連接不上時,後台登陸服務器,先确認服務器網絡有無問題,查一下ssh服務有沒有正常運行,防火牆是否放行了ssh端口,檢查sshd_config文件配置(注意端口号、是否有地址綁定、是否允許root登陸等);如果都沒問題,再檢查下/etc/hosts.deny 和 /etc/hosts.allow兩個配置文件是否有限制登陸。
/etc/hosts.allow和/etc/hosts.deny兩個配置文件:
有時候服務器上會用這兩個文件限制登陸的IP,通常是在/etc/hosts.deny文件中裡面先deny all,然後在/etc/hosts.allow文件中添加需要登陸的IP地址;例如:
先禁止所有:
[root@Jenkins ~]# cat /etc/hosts.deny
sshd: ALL : deny
再放行允許連接訪問的IP地址:
[root@Jenkins ~]# cat /etc/hosts.allow
sshd:10.10.10.* : allow 允許10.10.10.0/24網段登陸
sshd: 192.168.1.30 : allow 允許192.168.1.30這個ip登陸
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!