分离 SSH 和 SFTP
Separate SSH and SFTP
是否可以将 SSH 和 SFTP 分开?
例如,让 SFTP 监听 22 端口,SSH 监听 2222 端口?
我已经分开了SFTP和SSH用户列表,目的是让SFTP用户连接到端口22,并让SSH监听更高的端口,比如2222。
因为两者本质上都是 SSH 的一部分,所以我找不到实现此目的的方法。
提前致谢!
您可以通过以下方式完成此操作:
创建 second/separate SSH 服务(这将根据您使用的初始系统以不同方式完成);
并将其配置为 only allow SFTP. You might want to chroot SFTP 服务,以防止一些可能被用户用来获取 shell 返回的技巧。
在单独的端口上添加第二个实例 运行 绝对可行,但随后您必须告诉用户使用另一个端口 - 他们不会这样做。您还可以使用 match user
和 match group
行强制用户和/或组仅支持 sftp。
在 sshd-config
中,您可以执行类似
的操作
Subsystem sftp internal-sftp
...
Match Group sftponly
ChrootDirectory /sftp/root/dir
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
另见 Linux shell to restrict sftp users to their home directories?
其他问题是正确的,但您可以设置 openSSH 的单个实例以侦听两个端口并在一个端口上处理 SFTP 连接,在另一个端口上处理 SSH 连接:
Port 22
Port 2222
Subsystem sftp internal-sftp
Match LocalPort 22
ChrootDirectory /sftp/root/dir
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
是否可以将 SSH 和 SFTP 分开?
例如,让 SFTP 监听 22 端口,SSH 监听 2222 端口?
我已经分开了SFTP和SSH用户列表,目的是让SFTP用户连接到端口22,并让SSH监听更高的端口,比如2222。
因为两者本质上都是 SSH 的一部分,所以我找不到实现此目的的方法。
提前致谢!
您可以通过以下方式完成此操作:
创建 second/separate SSH 服务(这将根据您使用的初始系统以不同方式完成);
并将其配置为 only allow SFTP. You might want to chroot SFTP 服务,以防止一些可能被用户用来获取 shell 返回的技巧。
在单独的端口上添加第二个实例 运行 绝对可行,但随后您必须告诉用户使用另一个端口 - 他们不会这样做。您还可以使用 match user
和 match group
行强制用户和/或组仅支持 sftp。
在 sshd-config
中,您可以执行类似
Subsystem sftp internal-sftp
...
Match Group sftponly
ChrootDirectory /sftp/root/dir
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
另见 Linux shell to restrict sftp users to their home directories?
其他问题是正确的,但您可以设置 openSSH 的单个实例以侦听两个端口并在一个端口上处理 SFTP 连接,在另一个端口上处理 SSH 连接:
Port 22
Port 2222
Subsystem sftp internal-sftp
Match LocalPort 22
ChrootDirectory /sftp/root/dir
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp