問題描述:最近做的一個網站項目,實施伺服器叢集部署(LVS+KEEPALIVED,RHCS,HA),n台機器的ssh遠程登入都通過一個外網IP先登入叢集中一台伺服器,然後再通過ssh命令登入到其他機器,問題在於叢集內網中直接通過內網IP ssh到另外一台機器時輸入密碼之後,會等待10-20秒才能登入成功。我一直沒有在意這個問題,我認為是內網網路的問題,因為網路的不屬於我管,但是我實在忍不了了。
最後Google,百度一下,整理如下的解決辦法(問題竟是出在sshd的配置)
#vi /etc/ssh/sshd_config
修改sshd的設定檔,步驟如下:
1.禁用DNS反向解析
UseDNS no
2.還有系統預設有個忽略以前登入過主機的記錄,將這個開啟基本上就會解析登入慢的問題
IgnoreRhosts yes
3.修改“GSSAPIAuthentication”的值為“no”(沒有的添加該配置選項,注釋掉的放開即可)
GSSAPIAuthentication no
GSSAPICleanupCredentials no
4.重啟SSH服務
#service sshd reload
最後可以通過ssh -v host 進行debug,排查ssh登入的時候在哪個地址等待時間比較長
另外在項目中有遷移舊系統中的phpwind的需求,phpwind版本v8.7(垃圾一樣的程式),由於習慣在部署與設定管理員時採用複雜的密碼(然後這就給自己設下一陷阱啊,不過還是phpwind配合得好,不然怎麼會給自己設陷阱),問題在於phpwind對於背景表單資料提交都會過濾啊,坑死人,我在phpwind後台進行ftp遠程附件的ftp設定配置了ftp帳號密碼之後,始終無法在前台實現附件的上傳,各種用戶端ftp軟體沒有問題(想死的心都有了),最後排查程式之後,竟然ftp帳號密碼被過濾了部分字元,我操,(再也不要跟我提phpwind這種垃圾)。
言歸正傳,vsftpd登入慢的解決方案:
查/etc/resolv.conf的內容,一般是DNS的問題,修改DNS的配置,如:
nameserver 8.8.8.8
nameserver 8.8.4.4