0
我的目標是讓這些東西工作:在chroot的環境中使用兩個SFTP和端口轉發SSH
- 用戶可以通過SFTP連接到服務器。他只能從他的家目錄中讀取內容(因此,他可以使用SFTP用戶@主機)
- 用戶可以連接到服務器,並打開一個遠程端口的端口轉發(因此,他可以使用SSH -R REMOTE_PORT:本地主機:端口用戶@主機)
- 用戶可以而不是做任何事情,但除了這兩件事。他不應該有正常的shell訪問權限,並且不應該能夠運行命令。
我可以讓任何一種情況下工作,但不是在同一時間。
我的/ etc/sshd_config的是:
Match Group restricted
ChrootDirectory /home/restricted/users
AllowAgentForwarding no
X11Forwarding no
AllowTcpForwarding yes
ForceCommand internal-sftp
顯然,這是SFTP的工作情況。使用此配置,不可能打開遠程端口進行端口轉發。
對目前我允許TCP轉發禁用ChrootDirectory指令的唯一方法ForceCommand和。
此外,我必須將shell更改爲/ bin/bash以允許端口轉發。
我的夢想情況是:
- /斌/假(或同等學歷)爲殼
- chroot的主目錄
- SFTP工作
- 端口轉發工作
- 沒有別的作品
這甚至可能嗎?如果是這樣,我需要做什麼?
在此先感謝。
此網站用於編程問題,而不是服務器配置。 – 2015-02-23 21:11:04
您可以在使用Paramiko或類似庫編寫的自定義SSH服務器中實現此功能。在這個開發工作中你遇到的問題可能在這裏討論。:) – 2015-02-23 21:41:15
(具體來說,Paramiko的Python版本; Java端口不支持SFTP服務器)。 – 2015-02-23 21:41:49