Linux

添加“匹配組”子句後 sftp/ssh 失敗

  • November 6, 2018

我正在嘗試在 EC2 上的 ubuntu/precise 上設置 sftp 伺服器。我已經成功添加了一個可以通過 ssh 連接的新使用者,但是一旦我添加了以下子句:

Match Group sftp
   ChrootDirectory /home/%u
   AllowTCPForwarding no
   X11Forwarding no
   ForceCommand internal-sftp

我無法再連接(無論是 ssh 還是其他方式),我收到了消息

Error: Connection refused
Error: Could not connect to server

我能夠將子系統設置為:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

知道為什麼 ssh 伺服器會因這個“匹配”子句而失敗嗎?本質上,除了“chroot”部分之外,一切都在工作。

好的,解決了問題:

2 件事導致了問題

  1. 我不得不將“匹配”子句移到文件的末尾,它在中間
  2. 存在權限問題 - 在其他地方找到了修復它的答案

來自:https ://askubuntu.com/questions/134425/how-can-i-chroot-sftp-only-ssh-users-into-their-homes

“所有這些痛苦都是由於這裡詳述的幾個安全問題。基本上 chroot 目錄必須由 root 擁有,並且不能是任何組寫入訪問權限。可愛。所以你基本上需要把你的 chroot 變成一個容納單元和在其中,您可以擁有可編輯的內容。

sudo chown root /home/bob
sudo chmod go-w /home/bob
sudo mkdir /home/bob/writable
sudo chown bob:sftponly /home/bob/writable
sudo chmod ug+rwX /home/bob/writable

而且 bam,你可以登錄並寫入 /writable。”

引用自:https://serverfault.com/questions/419684