1. 程式人生 > >ssh連接出現的錯誤及解決方法!!!!!!!

ssh連接出現的錯誤及解決方法!!!!!!!

1,ssh: connect to host 192.168.1.108 port 22: Connection refused
2,ssh_exchange_identification: read: Connection reset by peer
用ssh相連的兩臺電腦:伺服器ubuntu16.04:****@192.168.10.108,本機ubuntu14.04:******@192.168.1.101

失敗產生的原因及解決辦法:

      1 ssh的物件沒有安裝openssh-server
                    在ssh *******@192.168.1.108之前,需要在伺服器上安裝:sudo apt-get install openssh-server
       2:

                    檢視:/etc/hosts.deny檔案,#ALL: PARANOID的註釋是否去掉。 reason:/etc/hosts.allow控制可以訪問本機的IP地址,/etc/hosts.deny控制禁止訪問本機的IP。如果兩個檔案的配置有衝突,以/etc/hosts.deny為準。
  • ############
  •         3、經常出現的錯誤:

  •                  連線伺服器的時候:ssh ***@192.168.10.108,出現如下錯誤,
    1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    2. @ WARNING: REMOTE HOST IDENTIFICATION HAS @
    3. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    4. IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING
    5. Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    6. It is also possible that a host key has just been changed.
    7. The fingerprint for the ECDSA key sent by the remote host is
    8. 3a:ab:0e:62:7a:0e:db:40:ac:95:46:0e:05:63:93:ee.
    9. Please contact your system administrator.
    10. Add correct host key in /home/haoyu/.ssh/known_hosts to get rid of this message.
    11. Offending ECDSA key in /home/haoyu/.ssh/known_hosts:6
    12.   remove with: ssh-keygen -f "/home/***/.ssh/known_hosts" -R 192.168.10.108
    13. ECDSA host key for 192.168.10.108 has changed and you have requested strict checking.
    14. Host key verification failed.


  • solve:            

ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,OpenSSH會核對公鑰。如果公鑰不同,OpenSSH會發出警告,避免你受到DNS Hijack之類的攻擊。
SSH對主機的public_key的檢查等級是根據 StrictHostKeyChecking
預設情況:
StrictHostKeyChecking=ask。

簡單所下它的三種配置值:

StrictHostKeyChecking=no

#最不安全的級別,當然也沒有那麼多煩人的提示了,相對安全的內網時建議使用。如果連線server的key在本地不存在,那麼就自動新增到檔案中(預設是known_hosts),並且給出一個警告。

2.
StrictHostKeyChecking=ask #預設的級別,就是出現剛才的提示了。如果連線和key不匹配,給出提示,並拒絕登入。

StrictHostKeyChecking=yes。最安全的級別,如果連線與key不匹配,就拒絕連線,不會提示詳細資訊。

解決方法 1:

為了方便,選擇最低的安全級別。在.ssh/config(或者/etc/ssh/ssh_config)中配置:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

warning:這裡為了簡便,將knownhostfile設為/dev/null,就不儲存在known_hosts中了)
解決方法 2:
gedit ~/.ssh/known_hosts

刪除對應ip的相關rsa資訊

解決方法 3:
rm known_hosts