我正在为 sftp 设置 chroot,并使用了教程的组合(source1、source2),最终得到了以下配置/etc/ssh/sshd_config
:
Match Group sftpusers
ForceCommand internal-sftp
ChrootDirectory /var/sftp/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
sftp 基本文件夹/var/sftp
和用户创建如下:
Match Group sftpusers
ForceCommand internal-sftp
ChrootDirectory /var/sftp/
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试登录时,我最终会进入该/var/sftp
文件夹,该文件夹演示了登录的工作原理。
由于我希望用户最终进入该文件夹,因此我尝试在该行下/var/sftp/<userid>
设置以下配置:sshd_config
Match Group
ChrootDirectory /var/sftp/%u
Run Code Online (Sandbox Code Playgroud)
client_loop: send disconnect: Broken pipe
当我这样做时,我在尝试登录时收到错误。根据ssh_config
变量应该被接受的手册页,如下:
ChrootDirectory 接受标记 %%、%h 和 %u。
有任何想法吗?
环境:
通常,检查应用程序服务器是否正在运行的简单诊断方法是再次在主机和端口上运行 telnet:
\n\ntelnet somehost port\n
Run Code Online (Sandbox Code Playgroud)\n\n问题是,某些操作系统(例如 macOS)现在默认使该工具不可用。因此,我不想尝试了解如何安装 telnet,而是想知道是否有其他 CLI 方法来检查服务器是否正在侦听,而不需要特殊权限?
\n\n澄清一下,我正在寻找在任何系统上都可以像 telnet 一样快速使用的解决方案,只需 5 秒即可实现。编写解决方案并不能真正提供快速访问方法。
\n