linux的SSH和Mysql 串連建立慢的解決辦法

來源:互聯網
上載者:User

標籤:

使用該命令:ssh -v [email protected],可以查看串連登入過程的日誌

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

1. 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中。

2. 關閉ssh的gssapi認證

用ssh -v [email protected] 可以看到登入時有如下資訊:

debug1: Next authentication method: gssapi-with-mic

debug1: Unspecified GSS failure. Minor code may provide more information

註:ssh -vvv [email protected] 可以看到更細的debug資訊

解決辦法:

vi /etc/ssh/ssh_config(ssh,不是sshd),設定GSSAPIAuthentication no  並重啟sshd

可以使用ssh -o GSSAPIAuthentication=no [email protected]登入

GSSAPI ( Generic Security Services Application Programming Interface) 是一套類似Kerberos 5 的通用網路安全系統介面。該介面是對各種不同的用戶端伺服器安全機制的封裝,以消除安全介面的不同,降低編程難度。但該介面在目標機器無網域名稱解析時會有問題

 

 

最近發現ssh串連的時候卻很慢,ping的速度非常好,讓人誤以為是ssh串連不上。 分析結果,主要原因為:DNS的解析IP導致,可分別使用以下幾種分析處理方式

 

1.linux ssh串連慢

 

最近發現ssh串連的時候卻很慢,ping的速度非常好,讓人誤以為是ssh串連不上。 
分析結果,主要原因為:DNS的解析IP導致,可分別使用以下幾種分析處理方式 
1、在server上/etc/hosts檔案中把你原生ip和hostname加入  
2、在server上/etc/ssh/sshd_config檔案中修改或加入UseDNS=no  
3、注釋掉server上/etc/resolv.conf中不使用的IP所有行  
4、修改server上/etc/nsswitch.conf中hosts為hosts:files 
5、authentication gssapi-with-mic也有可能出現問題,在server上/etc/ssh/sshd_config檔案中修改 GSSAPIAuthentication no。/etc/init.d/sshd restart重啟sshd進程使配置生效。 
如之前為伺服器配置了雙網卡,使的在/etc/resolv.conf檔案中多了一行目前不使用的IP地址。注釋或者刪除該行即可。

 

2.mysql連線速度慢 
在區域網路內串連其他機器的MYSQL,發現速度慢的很,不知道什麼原因,總有幾秒的延遲.

遠端連線mysql異常緩慢,經常執行一條命令,然後要等個10幾秒執行下一條。解決方案是在mysql的my.ini中的mysqld節加入skip-name-resolve,該命令參數避免了對主機名稱進行解析從而加快連線速度。
後來在網上發現解決方案,my.ini裡面添加<linux中在/etc/my.cnf> 
[mysqld] 
skip-name-resolve 
skip-grant-tables

 

這樣速度就快了!

  • skip-name-resolve
  • skip-grant-tables

原因是:

  • mysql用戶端每次訪問db,mysql就會試圖去解析來訪問的機器的hostname,並緩衝到hostname cache,如果這時解析不了,等一段時間會失敗,資料才能被取過來。
  • 2.系統將對任何使用者的訪問不做任何存取控制

友情提示:重啟mysql生效

skip-name-resolve 
選項就能禁用DNS解析,連線速度會快很多。不過,這樣的話就不能在MySQL的授權表中使用主機名稱了而只能用ip格式。

若使用–skip-grant-tables系統將對任何使用者的訪問不做任何存取控制,但可以用 mysqladmin flush-privileges或mysqladmin reload來開啟存取控制;預設情況是show databases語句對所有使用者開放。

 

還可參考:http://www.jb51.net/article/27616.htm

linux的SSH和Mysql 串連建立慢的解決辦法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.