ssh 連線緩慢原因以及解決方法

2022-09-07 05:27:10 字數 1409 閱讀 9069

通過ssh服務遠端訪問linux伺服器,總是等待很久才能登陸。

1、ssh服務預設啟用了dns反向解析的功能

# 關閉

sed -i '

s/#usedns yes/usedns no/

' /etc/ssh/sshd_config

# 另外在authentication gssapi-with-mic也有可能出現問題,在server上/etc/ssh/sshd_config檔案中修改gssapiauthentication no

# 引數解說:

伺服器端啟用了gssapi。登陸的時候客戶端需要對伺服器端的ip位址進行反解析,如果伺服器的ip位址沒有配置ptr記錄,那麼就容易在這裡卡住了。  

sed -i 's/gssapiauthentication

yes/gssapiauthenticationno/' /etc/ssh/sshd_config

2、在目標伺服器上有乙個檔案/etc/nsswitch.conf ,裡面有如下一行

hosts: files dns myhostname
這行的含義是對於訪問的主機進行網域名稱解析的順序,是先訪問file,也就是/etc/hosts檔案,如果hosts中沒有記錄網域名稱,則訪問dns,進行網域名稱解析,如果dns也無法訪問,就會等待訪問超時後返回,因此等待時間比較長。那如果將這一行遮蔽掉是不是也可以達到同樣的效果呢?應該是可以的,但是如果本機要通過網域名稱訪問其他伺服器,則肯定無法訪問,因此這行應該需要保留。這個問題也提示我們,dns如果不可用,會帶來的一些***的。

就是那個myhostname項,/etc/hosts和dns都解析不到ip時,myhostname就起作用了,它可以把hostname,解析成自己範圍內的ip位址,因此就可以ping通了。

可以通過下面命令檢視hostname對應的ip:

最好在/etc/hosts檔案中配置hostname跟本機ip對映

1, 在server上/etc/hosts檔案中把你本機的ip和hostname加入

2, 在server上/etc/ssh/sshd_config檔案中修改或加入usedns=no(這個方法試過了,好用)

3, 注釋掉server上/etc/resolv.conf中所有行(關於這個方法:另一台伺服器雖然沒有按照方法2修改配置檔案sshd_config,但是在這台伺服器resolv.conf為空,也就是說這個方法也好用)

4, 修改server上/etc/nsswitch.conf中hosts為hosts: files

5, restart sshd server【systemctl restart sshd】使配置生效

SSH登入緩慢解決方法

最近幾天通過ssh登入區域網內的一台機器時,在輸入使用者名稱後,得等10多秒後才會有響應回來,很慢,但ping的時候ttl時間很快,那機器負載也蠻小的。這個小問題存在了幾天,一直沒顧上解決,今天在網上查了些資料,終於知道的這個問題產生的原因。原因之一是因為linux系統的乙個檔案 etc nsswi...

SSH連線超時解決方法

原理均為定時傳送 空包 方法1.修改server端的etc ssh sshd config,然後重啟ssh服務 service sshd restart server每隔60秒傳送一次請求給client,然後client響應,從而保持連線 clientaliveinterval 60 server發...

解決SSH連線伺服器緩慢

最近發現通過ssh連線伺服器非常緩慢,要等上近30秒才能連上,對於追求效率的人而言,這是不能忍的。於是進入分析模式,首先要排查是不是網路的問題 ping 172.18.50.184 172.18.50.184 56 84 bytes of data.64 bytes from 172.18.50.1...