我在 RHEL 8 服务器上设置了 chrooted SFTP 目录,该服务器上还运行了几个网站。今天早上我尝试 ssh 时,服务器说它只接受 SFTP 连接。幸运的是,它是一个虚拟机,所以我可以直接连接到控制台。
这是我sshd_config
在周五添加的内容:
ForceCommand internal-sftp
Match Group sftpusers
ChrootDirectory /sftp/%u
注释掉该ForceCommand
行可以让我通过 ssh 重新进入。将 SFTP 用户限制到目录而不将整个服务器变成 SFTP 服务器的正确指令是什么?
看着
man sshd_config
,文档写道:通过指定
ForceCommand internal-sftp
,您告诉sshd
每个 ssh 连接必须执行internal-sftp
,无论客户端请求或期望什么。您几乎可以肯定要使用
Subsystem
,其记录如下:要更正您的情况,请删除 的条目
ForceCommand
并将其替换为Subsystem
。我还倾向于在Match
orHost
行之后缩进命令,以使其在视觉上更清楚,它们仅在Match
or应用时才Host
适用。