Ssh
僅將 SFTP 使用者(基於 OpenSSH)限制為自定義埠
據我了解,網際網路上有大量其他執行緒允許在自定義埠上進行 OpenSSH SFTP 連接。我打過他們,不是全部,而是很多。並且無法使其在我的特定情況下工作:)
以下是我一直在努力解決的問題:
CentOS Linux 版本 7.6.1810 (Core),在 AWS
OpenSSH_7.4p1,OpenSSL 1.0.2k-fips 2017 年 1 月 26 日
要求:
- 僅
sshd
允許 1 個實例- 埠 22:SSH
- 埠 2222:SFTP
- Chrooted SFTP 使用者
在
/etc/ssh/sshd_config
我的頂部:Port 22 Port 2222
johanmeiring
使用Ansible 角色 ansible -sftp配置的 SFTP 伺服器
- 然後我修改
/etc/ssh/sshd_config
以更改此Match
行:Match Group sftpusers
到:
Match Group sftpusers LocalPort 2222
希望該組的使用者
sftpusers
僅能夠通過埠 2222 進行 SFTP 連接
- 這更多
/etc/ssh/sshd_config
是我認為相關的:Port 22 Port 2222 ... Subsystem sftp internal-sftp -f AUTH -l VERBOSE ... Match Group sftpusers LocalPort 2222 ChrootDirectory %h AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp PasswordAuthentication no
真正發生的是 SFTP 使用者能夠通過埠 22 和 2222 進行連接。更糟糕的是,當通過埠 22 連接時,SFTP 使用者根本沒有 chroot(他們可以
cd
自由)。這一切都不是預期的。如何在OpenSSH的基礎上實現chrooted SFTP使用者,限制在2222埠,同時讓SSH正常執行?
謝謝你。
嘗試添加另一個匹配組並拒絕對該組的訪問。
Match Group sftpusers LocalPort 22 DenyGroups sftpusers
會工作。