自己的本本無法ssh上伺服器,提示 ssh_exchange_identification: read: Connection reset by peer
仔細回想,自己手賤把~下面的一個ssh檔案刪掉了,呵呵......瓜了,無法備份了
 
原因:
本來以前設定了無需密碼直接ssh,現在沒辦法,系統的denyhosts就認為這是一個非法ssh使用者,就直接列入/etc/hosts.deny,一看,果然自己的ip在裡頭,唉...
 
解決:(參考大神的方法)
 

忽然間發現自己VPS不SSH了, WinSCP顯示Server unexpectedly closed network
connection錯誤. 排除VPS的記憶體不足的問題, 回想是不是最近用SSH時輸錯密碼導致DenyHosts將IP限制訪問了.
本文適用於VPS安裝了DenyHosts的站長.

如何檢視問題的根源是不是DenyHosts對自己IP的鎖定了? 首先訪問主機商提供的VPS控制檯,
用主機商提供的帳號和密碼進入主機(個別VPS有提供單獨的SSH帳號, 不是root帳號, 但又root許可權,
通常為console-****), 用自己熟悉的Linux口令檢視/etc/hosts.deny檔案是不是包含了自己的IP, 如果是,
恭喜自己的主機DenyHosts工作正常吧.

DenyHosts會讀取多個記錄確保沒有漏網之魚.
網路上流傳清空/var/log/secure和/etc/hosts.deny並不能完美解鎖自己的IP,
很快就會被DenyHosts重新鎖定. 這也是DenyHosts強大的地方.

下面是解鎖的步驟,

首先停止DenyHosts, CentOS系統的可以用命令:

# service denyhosts stop

其他系統, 例如Ubuntu/Debian/Fedora/CentOS/Redhat

# /etc/init.d/denyhosts stop

然後請用自己熟悉的方法(通常是vi)在下列檔案中找到自己的IP記錄並刪除, 不推薦這種方法因為用vi在下面的檔案中找到自己的IP是非常費時費力的.

/var/log/secure              ×
/etc/hosts.deny            
×  通常只修改這兩個檔案就OK了
/usr/share/denyhosts/data/hosts
/usr/share/denyhosts/data/hosts-restricted
/usr/share/denyhosts/data/hosts-root
/usr/share/denyhosts/data/hosts-valid

可以用sudo sed -i '/ip/d' /var/log/secure 來直接修改,並使用sudo grep "ip"
/var/log/secure來檢視是否修改成功(已編寫指令碼)

如果不在乎上面的記錄檔案, 推薦清空上面幾個Linux系統日誌然後重新開啟DennyHosts.
清空這些Linux系統日誌不會影響任何功能. 如果你覺得這幾個檔案記錄對你很重要(真的?), 請不要隨意清空,
老老實實使用上面的方法.

清空上面幾個Linux系統日誌很簡單, 在SSH中敲入下面的命令:

cat /dev/null > /var/log/secure

cat /dev/null > /etc/hosts.deny

cat /dev/null > /usr/share/denyhosts/data/hosts
cat /dev/null > /usr/share/denyhosts/data/hosts-restricted

cat /dev/null > /usr/share/denyhosts/data/hosts-root
cat /dev/null > /usr/share/denyhosts/data/hosts-valid
cat /dev/null > /usr/share/denyhosts/data/offset

cat /dev/null > /usr/share/denyhosts/data/suspicious-logins

cat /dev/null > /usr/share/denyhosts/data/users-hosts

cat /dev/null > /usr/share/denyhosts/data/users-invalid
cat /dev/null > /usr/share/denyhosts/data/users-valid 把日誌檔案全部清空!要注意的是,清空後一定要 # service rsyslog restart 重啟日誌記數器!因為如果你不重啟服務,你會發現secure日誌檔案會停止記錄一切活動了!那麼denyhosts也就無效了。 然後重新開啟Deny Hosts
# service denyhosts start
其他系統, 例如Ubuntu/Debian/Fedora/CentOS/Redhat
# /etc/init.d/denyhosts start
最好
#service sshd restart
#service iptables restart