SFTP 到只能通过 Windows 中的 SSH Bastion 连接的主机 (Putty)

Ati*_*tif 3 networking ssh proxy putty sftp

我什至不知道如何解释这一点,而且标题也可能不正确。但这就是我正在努力做的事情

我使用 SFTP 插件 Sublime Text,它通过开发机器(我们称之为 D)连接并在保存时同步文件。

当我在家工作时,由于明显的安全原因,我无法连接到我的开发机器。我必须连接到堡垒主机(我们称之为 S),然后从 SI 必须 ssh 到 D。这很酷,现在我可以运行命令并使用 Vim。

但是,有什么方法可以打开 SFTP 端口以供本地计算机连接或让插件正常工作。我认为它称为 SSH 隧道,但我不知道该怎么做。

该插件使用Putty 和Pageant(用于 ssh 密钥)来连接/同步文件。

任何帮助将不胜感激。

Pau*_*aul 5

您可以为此使用端口转发。

假设您可以连接到的计算机已打开88.88.88.88,并且这是您的服务器的公共地址10.8.8.8。您想要访问的机器已开启10.8.8.9

您使用 ssh 连接到第一台计算机,并设置转发到下一台计算机的端口。我将展示命令行方式,以便您可以看到它是如何工作的:

ssh -L2222:10.8.8.9:22 user@88.88.88.88
Run Code Online (Sandbox Code Playgroud)

因此,这是进行标准登录,88.88.88.88但 -L 开关说“在我的本地计算机上设置端口2222,并且任何进入它的内容都应该通过隧道传输到那里88.88.88.88并从那里发送到10.8.8.9端口22

因此,现在您可以在运行第一个命令的同一台计算机上执行此操作,它将连接到内部计算机(只需在 sftp 客户端中执行等效操作):

sftp 127.0.0.1:2222
Run Code Online (Sandbox Code Playgroud)

要在 putty 中设置端口转发,请转到会话设置的 ssh / 隧道部分。

输入2222源端口,输入10.8.8.9:22目标端口,确保local选中,然后单击“添加”。

请注意,您可以在建立的 ssh 会话期间更改这些设置。因此,如果您需要另一个端口转发,您可以在此处添加它,并且立即生效,无需断开连接并重新连接。