通过shell sftp – 怎么可能?

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

对于像http://mysecureshell.sourceforge.net/这样的工具来说,如何通过input以下命令将它们指定为shell来提供SFTP访问:

usermod -s /bin/MySecureShell myuser 

我在Debian Lenny上,默认的是sshd / OpenSSH。

这是例如SSH协议的function,允许用户shell来处理SFTP命令? 我不能把我的头包裹起来,因为通常OpenSSH需要sftp-server模块(或者更新版本的内部模块) – 这使我认为sftp命令甚至不会命中shell,而是被更早的或者不同的代码path..

如果你看一下:/ etc / ssh / sshd_config

你会看到这行:

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

我相信这样做是连接任何连接到SFTP的客户端(通过传递协议作为SFTP而不是SSH)login使用SSH,然后传递任何请求到这个子系统来处理实际的请求