![ssh 服务器一定支持 sftp 吗?](https://linux22.com/image/1515656/ssh%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%80%E5%AE%9A%E6%94%AF%E6%8C%81%20sftp%20%E5%90%97%EF%BC%9F.png)
我曾经连接过的每个 sshd 服务器都支持 sftp。但是,这一定是事实吗?还是有明显的例外?
我之所以询问是因为许多共享主机帐户提供的“ssh 帐户”默认情况下只提供 sftp 服务器(它们有一个用于交互式会话的空壳)。
如果答案是肯定的,那么使用 sftp 而不是 ssh 来传输密钥是有意义的,ssh-copy-id
因为那将是更为强大的解决方案。
答案1
不是。SSHsftp
服务器中的 只是非强制性子系统(但受到广泛支持,因为它更加用户友好并且比简单的 提供更好的性能scp
)。
答案2
您可能有这种感觉,因为大多数基于 Linux 的系统在安装 SSH 服务器包后确实默认在其配置中启用该功能,但这不是强制性的,正如@Jakuje 所说,它只是一个功能,但可以被禁用。
该文件中/etc/ssh/sshd_config
有如下指令:
Subsystem sftp /usr/lib/openssh/sftp-server
只需将其注释掉即可禁用 SFTP 功能。