使用WinSCP通过隧道获取文件

One*_*iot 2 linux ssh winscp portforwarding

在我试图用WinSCP抓取的节点上有一个文件.通常通过我的Linux VM访问该文件我使用命令

ssh -p 2200 -L 2020:py-01:22 foo@university.edu
Run Code Online (Sandbox Code Playgroud)

并建立一条隧道到我想去的地方.然后我打开第二个终端并说:

ssh -p 2020 foo@localhost
Run Code Online (Sandbox Code Playgroud)

这把我连接到那个隧道,我可以看到我想要的文件.所以我正在尝试使用WinSCP来执行类似的过程,这样我就可以看到该文件,然后制作我自己的副本,但是我不知所措.有人可以帮助我将上述命令插入WinSCP吗?

Mar*_*ryl 6

与Andrey的回答相反:如果您需要通过隧道连接SSH终端会话,则需要通过隧道连接WinSCP以进行SFTP会话,因为SFTP使用下面的SSH.没有区别.

要在WinSCP中通过隧道建立连接:

  • 首先建立一个会话就像你直接连接,即 py-01
  • 单击" 高级"按钮以打开" 高级站点设置"对话框
  • 进入Connection> Tunnel页面
  • 选中通过SSH隧道连接
  • 主机名中指定要通过的主机,即university.edu
  • 在" 用户名"中,指定隧道主机的帐户

请注意,隧道端口是自动选择的,因此您不要2200在任何地方指定它().

有关详细信息,请参阅:https://winscp.net/eng/docs/ui_login_tunnel


如果您已经设置了SSH隧道(使用问题中的第一个命令,如果它使用Cygwin在Windows上运行),您可以使用WinSCP连接到现有的外部隧道:

  • 主机名 localhost
  • 端口号 2200

您也可以这样做:在WinSCP中明确指定本地隧道端口号,并为SSH终端客户端重用WinSCP隧道.