通过 shell 进行 Sftp - 如何实现?

通过 shell 进行 Sftp - 如何实现?

(从 StackOverflow 移出:https://stackoverflow.com/questions/4589725/sftp-via-shell-how-it-is-possible

http://mysecureshell.sourceforge.net/只需输入以下命令将其指定为 shell 即可提供 SFTP 访问:

usermod -s /bin/MySecureShell myuser

我使用的是 Debian Lenny,默认使用 sshd/OpenSSH。

这是 SSH 协议的一个功能,允许用户 shell 处理 sftp 命令吗?我无法理解这一点,因为 OpenSSH 通常需要 sftp-server 模块(或较新版本中的内部模块)——这让我认为 sftp 命令甚至不会到达 shell,而是更早地或由不同的代码路径处理。

答案1

如果你查看:/etc/ssh/sshd_config

您将会看到以下行:

Subsystem sftp /usr/lib/openssh/sftp-server

我相信它的作用是将任何连接到 SFTP 的客户端(通过将协议传递为 SFTP 而不是 SSH)链接到使用 SSH 登录,然后将任何请求传递给该子系统来处理实际请求

相关内容