Ssh
根據連接來源禁用有吸引力的 SSH
場景:同一使用者可以從兩個不同的網段連接到一個 ssh 主機。但是當從一個(實際上是長途隧道)連接時,他們不應該能夠使用互動式 ssh 會話,應該只允許 chrooted sftp。
如何實現?這可以通過 sshd 的設置來實現嗎?還是通過 tcp 包裝器 (libwrap) + sshd?
您可以使用配置文件
Match
底部的指令來覆蓋基於使用者連接的sshd_config
全域設置等。Address
這使您可以為特定使用者/組/客戶端以不同的方式設置過多的特定設置。
# /etc/ssh/sshd_config # ... # your current global config # # Enable the internal sftp server Subsystem sftp internal-sftp # ... # Override for users connecting from the 192.0.2.0/24 subnet # They're only allowed to use sftp to their %h home directory Match Address 192.0.2.0/24 ForceCommand internal-sftp ChrootDirectory %h
有關 internal-sftp 伺服器的背景資訊,請參閱此問答。