Ssh

根據連接來源禁用有吸引力的 SSH

  • November 8, 2022

場景:同一使用者可以從兩個不同的網段連接到一個 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 伺服器的背景資訊,請參閱此問答

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