我可以使用 Windows 中的 WinSCP 连接到我的 SSH 服务器,并通过选择文件协议“SCP”,为此服务器选择“SFTP”不起作用”。我拼命尝试在 Linux 上执行相同操作。我尝试了以下操作,但没有成功:
- thunar 文件管理器:“ssh://”和“sftp://”
- Filezilla:SFTP 不起作用,没有 SCP 选项
- SSHFS:我在安装过程中收到此错误“debug1:退出状态 127,远程主机已断开连接”
我可以在命令行上使用 SSH 连接,没有任何问题,但我希望能够使用 GUI 浏览文件。有什么建议吗?
$ sudo sshfs -odebug,sshfs_debug,loglevel=debug [email protected]:/ /mnt/test
...
[email protected]'s password:
debug1: Authentication succeeded (password).
...
debug1: Sending subsystem: sftp
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
sh: /usr/libexec/sftp-server: not found
debug1: channel 0: free: client-session, nchannels 1
debug1: fd 0 clearing O_NONBLOCK
Transferred: sent 1904, received 1592 bytes, in 0.1 seconds
Bytes per second: sent 35690.4, received 29841.9
debug1: Exit status 127
remote host has disconnected
sshfs 是否需要另一端的 sftp?如果是的话,WinSCP 是怎么做的?
答案1
SCP 协议不允许您浏览文件。 SCP 只能复制(“CP”)= 上传/下载。 WinSCP 是一种作弊行为。它仅使用 SCP 进行文件传输。其余的(浏览、重命名、删除等)是使用 shell 命令。我不确定是否有任何其他应用程序(Linux 或非 Linux)可以执行相同的操作。
引用维基百科关于该主题的文章:
作为安全复制协议仅实现文件传输,GUI SCP 客户端很少见,因为实现它需要额外的功能(至少目录列表)。例如,WinSCP 默认使用 SFTP 协议。即使在 SCP 模式下运行,像 WinSCP 这样的客户端通常也不是纯粹的 SCP 客户端,因为它们必须使用其他方式来实现附加功能(如命令
ls
)。这反过来又带来了平台依赖问题。用于通过 SSH 管理文件的更全面的工具是 SFTP 客户端。
免责声明:我在 2005 年写了这部分文章,所以这并不是一个真正的独立声明。但由于它几乎没有经过任何修改而保存下来,这表明它是真的:)
另请参阅有关其的 WinSCP 文章使用 SCP 协议时的要求。
答案2
使用sshfs
测试
ssh user@remote
exit
挂载远程文件系统
mkdir -p ssh-mount-point
sshfs user@remote:~ ssh-mount-point
现在使用任何文件浏览器查看ssh-mount-point
例如ls ssh-mount-point
您还可以更改~
为/
或远程计算机上的任何其他路径(您将通过以下方式访问所有文件user
)。