2

我正在尝试在 ssh 隧道上使用 sftp

我有一个homePC,可以使用一个gatewayPC作为跳转主机登录到远程服务器

我使用 ssh 隧道命令

$ssh -t userid@gateway ssh remoteserver

homePC并且效果很好

但是,一旦我登录到另一台机器,我想打开一个 nautilus 或任何其他文件管理器

一种选择是能够通过此隧道进行 sftp 或 ftp

是否有基于 GUI 的工具(如用于 windows 的 putty)来实现这一点?

任何帮助表示赞赏

问候, 希瓦尼

4

4 回答 4

4

为此,您可以使用 ssh 隧道,您必须在路径中创建一个文件:

atiruz@pc:~$ nano ~/.ssh/config

并添加此文本(根据您的服务器调整):

Host gatewayPC
    HostName 100.110.120.130

Host localPC
    ProxyCommand ssh -A -t root@gatewayPC -p 222 nc 192.168.1.5 22

Host otherPC
    ProxyCommand ssh -A -t localPC nc 10.10.0.55 22

使用此示例,您可以直接从 gatewayPC 转到 localPC,只需在终端中运行:

atiruz@pc:~$ ssh root@localPC

该方案应如本网站所述。(我做了一个小改动,因为在这个站点的示例中,我的 Ubuntu 12.04 上不工作)。

您还可以将它Nautilus与以下路径一起使用,如下所示:

在终端中:atiruz@pc:~$ nautilus sftp://root@localPC

或直接在Nautilussftp://root@localPC

于 2012-07-18T22:05:51.740 回答
0

你的问题不清楚,所以这里有两个答案:

如果您只想能够在远程主机上运行基于 X 的文件管理器应用程序,只需确保-X通过 every 生效ssh

homepc% ssh -X me@gatewaypc
  ...Authenticate...
gatewaypc% ssh -X me@otherpc
  ...Authenticate...
otherpc% some-x-application
  ...X application displays on homepc...

如果您希望使用 进行直接文件复制scp

homepc% ssh -L2222:otherpc:22 me@gatewaypc
  ...Authenticate...
gatewaypc%  (Don't do anything here)

然后你可以scp在转发端口上做

homepc% scp -P 2222 me@localhost:~/path/to/file /where/it/goes
于 2011-02-21T00:43:45.860 回答
0

我不确定做这种事情的“正确”方法是什么,但我做过一次类似的事情,方法是创建一个从 homePC 到 gatewayPC,然后从 gatewayPC 到 remoteserver 的端口转发。然后我可以将我的本地 SFTP 客户端连接到端口转发管道的本地端。不过,这会让你的加密加倍。

于 2011-02-21T00:30:20.013 回答
0

我建议使用“ssh -fND 6789 gatewayPC”,然后使用配置 tsocks,这样您就可以执行“tsocks sshfs remoteserver: /mnt/remoteserver”。第一个命令设置一个 SOCK5 代理,将所有 TCP 请求通过隧道传送到 gatewayPC。 tsocks 命令包装了使用 SOCKS5 代理的命令的网络调用。sshfs 让我们使用 sftp 挂载远程文件系统。

于 2011-02-21T00:34:32.413 回答