centos下解決ssh鏈結慢問題

2022-09-10 21:06:27 字數 2164 閱讀 8971

**:

現在連線linux伺服器一般都是使用ssh遠端連線的方式。最近新裝了一台伺服器,發現telnet時速度很快,ping時一切也正常,但ssh連線的時候卻很慢。經過網上資料查詢,大致是有以下幾種原因:

1、server的sshd會去dns查詢訪問的client ip的hostname,如果dns不可用或者沒有相關記錄,就會消耗一段時間。

2、在authentication gssapi-with-mic有時候也會消耗一段時間

一、測試查詢具體原因:

1、使用ssh -v host進行debug

# ssh -v 192.168.100.10

然後就會輸出一大堆debug,通過debug資訊就可以看到連線到什麼地方被耽擱了

比如會顯示如下資訊:

debug1: next authentication method: gssapi-with-mic

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

no credentials cache found

2、檢測連線時間

# time ssh [email protected] exit

二、解決方法(建議乙個個設定,因為每個人連線慢的原因都不一樣):

注意:修改之後記得重啟sshd服務

# service sshd restart

1、關閉dns反向解析

在linux中,預設就是開啟了ssh的反向dns解析,這個會消耗大量時間,因此需要關閉。

# vi /etc/ssh/sshd_config

usedns=no

在配置檔案中,雖然usedns yes是被注釋的,但預設開關就是yes

2、關閉server上的gss認證

在authentication gssapi-with-mic有很大的可能出現問題,因此關閉gss認證可以提高ssh連線速度。

# vi /etc/ssh/sshd_config

gssapiauthentication no

3、修改server上nsswitch.conf檔案

# vi /etc/nsswitch.conf

找到hosts: files dns

改為hosts:files

hosts: files dns這一行含義是對於訪問的主機進行網域名稱解析的順序,是先訪問file,也就是/etc/hosts檔案,如果hosts中沒有記錄網域名稱,則訪問dns,進行網域名稱解析,如果dns也無法訪問,就會等待訪問超時後返回,因此等待時間比較長。

注意:如果server需要通過網域名稱訪問其他伺服器,則需要保留此行。

4、修改server上resolv.conf檔案

4.1、刪除/etc/resolv.conf中所有不使用的ip。

4.2、把nameserver全部刪除,問題也能解決,但是伺服器就無法上網了。

4.3、如果server曾經配置過雙網絡卡,則在該檔案中會有一行目前不使用的ip位址,刪除該行即可。

5、修改server上hosts檔案

在server上/etc/hosts檔案中把客戶端的ip和hostname加入

6、開啟server上的ignorerhosts引數

ignorerhosts引數可以忽略以前登入過主機的記錄,設定為yes後可以極大的提高連線速度

# vi /etc/ssh/sshd_config

ignorerhosts yes

--------------------以上的均在server上設定,以下的均在client上設定-----------------------

7、修改客戶端的hosts檔案

將目標server的ip和網域名稱加上去,使得本機的dns服務能解析目標位址。

# vi /etc/hosts

192.168.100.11 doiido.com

注:hosts檔案格式為'目標server_ip 目標server_name'。但是使用這個方法有乙個弊端,如果需要給每台server都新增乙個網域名稱解析。

8、修改客戶端配置檔案ssh_conf(注意,不是sshd_conf)

# vi /etc/ssh/ssh_conf

找到gssapiauthentication yes

改為gssapiauthentication no

CentOS 下解決ssh登入 locale 警告

最近登入一台centos 6機器,發現每次登入都提示如下警告 bash warning setlocale lc ctype cannot change locale en us.utf 8 no such file or directory bash warning setlocale lc co...

centos7 ssh連線慢解決方法

先備份 etc ssh sshd config,備份命令為 cp etc ssh sshd config etc ssh sshd config.bak 1.su 以root使用者登入 2.vi etc ssh sshd config 編輯配置檔案 3.輸入 查詢gssapiauthenticati...

centos7 ssh連線慢解決方法

先備份 etc ssh sshd config,備份命令為 cp etc ssh sshd config etc ssh sshd config.bak 1.su 以root使用者登入 2.vi etc ssh sshd config 編輯配置檔案 3.輸入 查詢gssapiauthenticati...