KDE Dolphin 將無法連接到 DropBear SSH 伺服器
我的手機上安裝了 Android SimpleSSHD 應用程序。在我的 Arch Linux 桌面上,我可以從命令行 ssh 到我的手機。我也可以從命令行 sftp 到我的手機。
但是,KDE Dolphin 拒絕連接。
我有一個具有以下內容的 ~/.ssh/config 文件:
Host GalaxyS8 HostName 192.168.1.1 Port 2222 IdentityFile /home/myuser/.ssh/id_rsa
以下所有命令都在終端中工作:
ssh -p 2222 -i /home/myuser/.ssh/id_rsa 192.168.1.1 ssh -p 2222 -i /home/myuser/.ssh/id_rsa myuser@192.168.1.1 ssh GalaxyS8 sftp -o IdentityFile=/home/myuser/.ssh/id_rsa -o Port=2222 192.168.1.1 sftp GalaxyS8
但是,以下在 Dolphin 中不起作用**:**
fish://GalaxyS8 sftp://GalaxyS8 sftp://myuser@192.168.1.1:2222 fish://myuser@192.168.1.1:2222
Dolphin 報告最後一個命令,“與主機 192.168.1.1 的連接中斷。” 在電話中,SimpleSSHD 報告 Pubkey auth 成功,然後收到 Disconnect。SimpleSSHD 不會在電話上報告任何錯誤。
所以這似乎是一個 KDE Dolphin 問題。我在 Arch 系統的 systemd 日誌中沒有看到任何與此相關的消息。
我通過以下步驟完成了它:
- 必須使用 sftp:// 而不是 fish://
- 必須輸入完整的 URI,例如 sftp://myuser@192.168.1.1:2222/sdcard/path/
- 必須有一個具有正確值的 ~/.ssh/config 文件才能使用私鑰文件(無密碼登錄)。我在問題中發布的配置文件對我有用。
- 必須有一個有效的已知主機密鑰,事實證明Dolphin 中存在與此相關的錯誤以及一個簡單的解決方法。我使用的解決方案來自這個部落格:
“未找到此伺服器的主機密鑰,但存在另一種類型的密鑰。” 將 sftp 與 dolphin/KIO 一起使用時
由傑森“moofang”
2011 年 6 月 29 日
在 Howto、KDE、Linux 中
我的 Cosfest X.1 活動文章已經完成了一半,但是我在今天工作時遇到了另一個有趣的問題,所以我將在這裡做另一個快速解決的文章。如果您在嘗試通過 dolphin 或一般 KIO 訪問 sftp 位置時出現以下錯誤消息:
“未找到此伺服器的主機密鑰,但存在另一種類型的密鑰。攻擊者可能會更改預設伺服器密鑰,以使您的客戶端誤以為該密鑰不存在。請聯繫您的系統管理員。”
這可能適合你。特別是如果您之前已成功 ssh-ed 到目標主機。根據此處的討論,總而言之,問題似乎是 KIO 無法辨識在 ssh known_hosts 列表中指定主機的特定(新?)格式(已在此處送出的錯誤)。幸運的是,有一種解決方法——由於 KIO 無法辨識 ssh 生成的 known_hosts 條目,我們只需讓 KIO 成為生成條目的那個。
備份你的 ~/.ssh/known_hosts 文件,然後用你喜歡的文本編輯器打開它。查找並刪除與您嘗試 sftp 進入的主機關聯的條目。如果找不到它,您可以刪除文件中的所有內容 - 副作用是下次您 ssh 到以前已知的位置時,系統會再次提示您添加密鑰。完成後,打開 dolphin 並嘗試 sftp 進入您想要的目標位置。它應該會提示您添加主機的密鑰 - 只需告訴它是,您應該能夠成功登錄。
就是這樣!從那時起,您應該能夠隨時將 ssh 或 sftp-via-KIO 引導到該位置。