我之前已经设置了一个 chroot 来将 sftp 用户锁定到他们的主目录。
所以我在 sshd_config 中有这个
Match User theuser
ChrootDirectory /home/theuser
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
我假设我需要删除ForceCommand 内部 sftp允许 ssh 连接,但是如果我尝试从用户那里进行 ssh 连接,则会显示“管道损坏”消息。
然后我需要允许该用户访问公钥,并希望允许他们 ssh-copy-id theuser@1234IP。
我还假设我的答案与设置有关 -授权密钥文件 但这看起来至少会造成很大破坏。
非常感谢您的帮助 - 谢谢。
答案1
不止这些。如果你想允许用户通过 ssh 进入 chroot,你至少需要为他们提供 shell 及其依赖项。这些文件需要复制到 chroot 中。
您可以找出需要bash
使用的共享库ldd
(如果您的用户有不同的 shell,请使用那个):
ldd /bin/bash
您可能能够在日志中看到应该引导您的错误。如果没有,请尝试sshd
在调试模式下运行。