Linux

無法從家庭 linux SSH 進入我的伺服器,但可以從 Windows SSH 進入同一伺服器

  • September 2, 2017

我無法從我的一個 Ubuntu 安裝 SSH 到我的伺服器,但如果我使用另一個 Ubuntu 安裝或 Windows 作業系統,通過 SSH 連接可以順利進行。

所以我的一個 Ubuntu 安裝出現了問題,我正在努力尋找確切的問題。

我試過重新安裝 ssh/openssh-client/openssh- /ssh

這是詳細輸出中的幾行:

ssh username@MYSERVERADDRESS -v
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to MYSERVER ([MYSERVERADDRESS]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
packet_write_wait: Connection to MYSERVERADDRESS port 22: Broken pipe

從Google搜尋嘗試了許多不同的解決方案,但從未奏效。已刪除 .ssh 目錄,已刪除 /etc/ssh/ssh_config (它是使用預設值再次自動創建的)。

另一個資訊是問題不是來自伺服器端,因為我可以使用另一個作業系統和相同的網路通過 SSH 連接到伺服器。

更新 :

  1. 防火牆已禁用
  2. 託管在雲端的伺服器
  3. 我有 3 台不同的機器,雙啟動 Windows 和 Linux。
  4. SSH 在所有機器上都能完美執行,除了一台 Linux 連接困難的機器,並且在使用 Windows 的同一台機器上一切正常。
  5. 更清晰的觀點 4:總共 3 台機器,每台機器都載入了 Linux 和 Windows(雙啟動),只有一台機器在執行 Linux 時出現 SSH 問題。

如果您需要我提供更多數據,請告訴我(伺服器地址和使用者名除外)。

我找到了解決這個問題的方法(很抱歉回答我自己的問題)。我正在回答它,因為如果有人有這個問題,那麼他/她可以使用我找到的解決方案。

實際上問題出在伺服器和客戶端雙方。

伺服器端問題是/home/<user>/.ssh/known_hosts伺服器上的文件對於 Ubuntu 安裝的條目無效,因為兩個作業系統具有相同的硬體 id 和相同的 ip(靜態 ip)但不同的密鑰。

所以我所做的是:

ssh-keygen -f /home/<user>/.ssh/known_hosts -R ip.ip.ip.ip

在我的情況下 ip.ip.ip.ip 是我網路的靜態公共 ip。在 ip.ip.ip.ip 將分別更改的伺服器和客戶端電腦上執行此命令。

我不知道這個命令做什麼(我從Google搜尋/試錯中找到了這個解決方案)

您還可以將您的客戶端電腦 known_hosts 文件複製到其他客戶端電腦或作業系統。

對不起,我的英語不好。

如果有人知道這個命令的作用以及為什麼這個命令解決了問題,那麼請告訴我們!謝謝你。

賓果解決了!

引用自:https://unix.stackexchange.com/questions/389405