有两个 SSH 账户,如何传输文件?

有两个 SSH 账户,如何传输文件?

我需要设置文件传输,为此我收到了以下访问信息。但我不确定如何连接,因为我以前很少使用 SSH。我收到的说明如下:

第一:ssh[电子邮件保护],密码:password1
然后:ssh[电子邮件保护],密码:password2

我使用的是 Mac。我应该使用什么客户端和设置?

答案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 文件中正确查找主机名。

相关内容