如何在没有 SSH 的情况下使用 SFTP?
How do I use SFTP without SSH?
我想要一个快速灵活的文件服务器,但我不需要加密或身份验证。如何在 Linux 系统上为此使用 SFTP?
没有 SSH 就无法使用 SFTP。看看:https://www.ssh.com/ssh/sftp/(强调我的):
“ SFTP(SSH文件传输协议)是一种安全的文件传输协议。 它运行在 SSH 协议上。。它支持 SSH 的完整安全和身份验证功能。
...
SFTP 端口号是 SSH 端口 22 ... 它基本上只是一个 SSH 服务器。 只有用户使用 SSH 登录到服务器后,才能启动 SFTP 协议。服务器上没有单独的 SFTP 端口。 “
SFTP 恰好被 SSH 服务器使用,但它是一个发展良好的协议,可以独立运行。 OpenSSH 开发的 sftp-server 不依赖 SSH 服务器; sftp 服务器使用标准 input/output。 (其他 SFTP 服务器类似。)
通过 SFTP 共享文件系统很简单,类似于您可以使用 NFS 进行的操作,但不需要 root 访问权限。我将使用 socat 作为这个临时示例的守护程序,但 xinetd 会提供更永久的解决方案。 sftp-server 的位置来自我 Ubuntu 安装的 openssh-sftp-server 包。
在服务器上:
$ mkdir shared_to_the_world
$ cd shared_to_the_world
$ socat tcp-listen:1234,reuseaddr,fork exec:/usr/lib/openssh/sftp-server
在客户端:
$ mkdir /tmp/sftp_test
$ sshfs -o reconnect,ssh_command="nc my_sftp_server_address 1234 --" : /tmp/sftp_test
$ cd /tmp/sftp_test
现在您的客户端(以及其他任何人的客户端!)可以无缝地使用服务器上共享目录中的文件。读写都开启了,慎重
考虑使用 socat listen 的 "bind" 和 "range" 选项来限制对您的服务器的访问。
我想要一个快速灵活的文件服务器,但我不需要加密或身份验证。如何在 Linux 系统上为此使用 SFTP?
没有 SSH 就无法使用 SFTP。看看:https://www.ssh.com/ssh/sftp/(强调我的):
“ SFTP(SSH文件传输协议)是一种安全的文件传输协议。 它运行在 SSH 协议上。。它支持 SSH 的完整安全和身份验证功能。
...
SFTP 端口号是 SSH 端口 22 ... 它基本上只是一个 SSH 服务器。 只有用户使用 SSH 登录到服务器后,才能启动 SFTP 协议。服务器上没有单独的 SFTP 端口。 “
SFTP 恰好被 SSH 服务器使用,但它是一个发展良好的协议,可以独立运行。 OpenSSH 开发的 sftp-server 不依赖 SSH 服务器; sftp 服务器使用标准 input/output。 (其他 SFTP 服务器类似。)
通过 SFTP 共享文件系统很简单,类似于您可以使用 NFS 进行的操作,但不需要 root 访问权限。我将使用 socat 作为这个临时示例的守护程序,但 xinetd 会提供更永久的解决方案。 sftp-server 的位置来自我 Ubuntu 安装的 openssh-sftp-server 包。
在服务器上:
$ mkdir shared_to_the_world
$ cd shared_to_the_world
$ socat tcp-listen:1234,reuseaddr,fork exec:/usr/lib/openssh/sftp-server
在客户端:
$ mkdir /tmp/sftp_test
$ sshfs -o reconnect,ssh_command="nc my_sftp_server_address 1234 --" : /tmp/sftp_test
$ cd /tmp/sftp_test
现在您的客户端(以及其他任何人的客户端!)可以无缝地使用服务器上共享目录中的文件。读写都开启了,慎重
考虑使用 socat listen 的 "bind" 和 "range" 选项来限制对您的服务器的访问。