在一台伺服器上,我安裝了 openSUSE,並配置了 SSH,因此只允許一個用戶,只允許來自特定 IP 的公鑰(無 pam,無密碼)。
SSH 可以工作,X11 轉送可以工作,SFTP 可以工作。
現在,我需要輔助系統,與外部世界幾乎相同。我安裝了 Xubuntu,設定了 SSH、防火牆,我從 openSUSE 複製了完全相同的 SSH 配置和金鑰,然後...
SSH 有效、X11 轉送有效、SFTP才不是工作。
我使用 FileZilla 進行連接,它給出錯誤“sftp 從 sftp 伺服器收到意外的文件結束符號”。我用谷歌搜尋了一下,找到了在伺服器上檢查“/var/log/auth.log”的建議,所以我做了,一切都很順利,當我嘗試使用SFTP 連接時,我只看到一條訊息“sshd[11835” ]:已接受...的公鑰。
造成這種差異的原因是什麼以及如何解決?
答案1
終於找到了。我嘗試了其他客戶端,希望其中一個能帶來新的曙光,事實上「sftp -v」確實做到了。我複製的 sshd 配置使用外部 sftp 伺服器(存在於 openSUSE 中,但不存在於 Xubuntu 中)。我將其更改為內部伺服器,現在我也可以使用 Xubuntu 進行連線。
答案2
你安裝FTP伺服器了嗎?如果沒有,請安裝 FTP 伺服器守護程序,例如 vsftp,如下所示
sudo zypper -n in vsftpd
然後設定/etc/vsftpd.conf
檔。否則,請重新檢查用戶端的配置並確保放置 SSH 私鑰和公鑰的正確目錄。