答案1
好的,显然您说第一个服务器只是一个中继,所以让我们使用 SSH 隧道。您可以在终端中执行以下操作:
ssh -N -t -x -L 45454:domain2.com:22 [email protected]
输入密码后,您将看不到任何事情发生。(或者:删除-N
以实际查看命令提示符domain1.net
。)然后在 Transmit 中,您要求连接到:
用户:user2
域(服务器):localhost
端口:45454
协议:SFTP(SSH)
这通常允许您使用 Transmit 通过第一个服务器的中继连接到第二个服务器。
完成后,停止 Transmit,然后在终端中按 Ctrl-C 停止ssh
。(或者,如果您ssh
没有使用-N
参数启动,则键入exit
而不是使用 Ctrl-C。)
答案2
之所以需要两次登录,是因为 domain2.com 将被隐藏在 domain1.com 后面,并且只能从内部访问。这样做通常是出于安全原因,或者只是因为 domain2.com 位于无法从外部访问的不同网络上。
答案3
在终端窗口
ssh上尝试此操作[电子邮件保护]
如果你不知道终端是什么, 它会稍后询问你的密码,请在聚光灯下搜索“终端”
答案4
从纯粹的命令行角度来看,您可以执行以下操作:
在终端窗口#1中:
$ ssh -L 2122:domain2.com:22 [email protected]
系统询问时输入密码(密码 1)。在终端窗口 #2 中:
$ scp -P 2122 -o HostKeyAlias=domain2.com user2@localhost:/path/to/remote/file /local/file
当系统询问时输入密码(密码2)。
端口号 2122 可以是任意值(大于 1024 且小于最大端口号)。端口号 22 不应更改。
设置 HostKeyAlias 以便可以在 known_hosts 文件中正确查找主机名。