ssh登陸慢 xhell訪問主機慢

2021-08-01 23:02:09 字數 1232 閱讀 2764

用ssh連其他linux機器,會等待10-30秒才有提示輸入密碼。嚴重影響工作效率。登入很慢,登入上去後速度正常,這種情況主要有兩種可能的原因:

dns反向解析的問題

openssh在使用者登入的時候會驗證ip,它根據使用者的ip使用反向dns找到主機名,再使用dns找到ip位址,最後匹配一下登入的ip是否合法。如果客戶機的ip沒有網域名稱,或者dns伺服器很慢或不通,那麼登入就會很花時間。

解決辦法:

在目標伺服器上修改sshd伺服器端配置,並重啟sshd

vi /etc/ssh/sshd_config,設定usedns為no即可

當然也可以通過提供dns正確反向解析的方法解決,有如下兩種思路

(1) 在server上/etc/hosts檔案中把常用的ip和hostname加入,然後在/etc/nsswitch.conf看看程式是否先查詢hosts檔案(一般預設是這樣)。

修改server上的hosts檔案,將目標機器的ip和網域名稱加上去。或者讓本機的dns 伺服器能解析目標位址。

vi /etc/hosts

192.168.12.16 ourdev

其格式是「目標機器ip 目標機器名稱」這種方法促效。沒有延遲就連上了。不過如果給每台都加乙個網域名稱解析,挺辛苦的。但在windows下用putty或secure-crt時可以採用這種方法。

(2)起一台dns伺服器(可以是本機),加入反向解析,把這個dns伺服器加入到/etc/resolv.conf中。

關閉ssh的gssapi認證

用ssh -v user@server 可以看到登入時有如下資訊:

debug1: next authentication method: gssapi-with-mic

debug1: unspecified gss failure. minor code may provide more information

注:ssh -vvv user@server 可以看到更細的debug資訊

解決辦法:

在客戶端上修改ssh客戶端配置(注意不是sshd_conf)

vi /etc/ssh/ssh_config,設定gssapiauthentication no 並重啟sshd

可以使用ssh -o gssapiauthentication=no user@server登入

使用strace檢視後發現,ssh在驗證完key之後,進行authentication gssapi-with-mic,此時先去連線dns伺服器,在這之後會進行其他操作。

SSH登陸超級慢

今天ssh登陸超級慢,比平時慢了不少,一ping etc resolv.conf裡面列出的dns server,發現原來是server 端連不上dns server,所以出現了問題。這麼看來,sshd在預設配置下ssh伺服器在接受每乙個連線時都會向dns server去請求乙個逆向解析請求來解析客戶...

ssh登陸慢或su切換使用者慢

今天遇到乙個客戶反映非root使用者ssh登陸慢,還有su切換到非root使用者也很慢,這個很奇怪了沒遇見過。他的系統是suse的,怎麼排查了,首先想到的是strace神器,strace tt su 檢視耗費時間最久的 recvmsg 4,msg controllen 0,msg flags msg...

自動化SSH登陸遠端主機

有時,要在指令碼中自動化ssh登陸遠端主機,不輸入密碼,可以用公鑰私匙的方法,方法如下。比如a主機中要ssh直接登陸b主機,在a主機中 1 ssh keygen t rsa 連續輸入三次空白,其中私鑰也不用密碼了,2 會預設在 home username ssh下生成公鑰id rsa.pub.3 把...