为了到达我办公室的机器,目前我正在这样做:
me@home:~$ ssh unix.university.com
me@unix:~$ ssh unix.department.univeristy.com
me@unix.department:~$ ssh office-machine.department.university.com
me@office-machine:~$ echo "This is very annoying"
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以自动化这个过程,也许我可以在最后使用一个命令?
为了从家里 ssh 进入我的工作计算机,我们称之为C
我必须执行以下操作:
ssh -t user@B ssh C
Run Code Online (Sandbox Code Playgroud)
B 是我可以从家里连接到的服务器,但 C 只能从 B 连接到。这很好用。
如果我想使用 将 C 上的文件复制到我的家用计算机上scp
,我需要从我的家用计算机上执行什么命令?
我已经看到了很多scp
通过ProxyCommand
操作员通过中间服务器到第二跳服务器的示例,例如:
A:/infile.txt -> B -> C:/outfile.txt
Run Code Online (Sandbox Code Playgroud)
从 A 中看起来类似于以下内容:
scp -o 'ProxyCommand ssh userB@hostB nc %h %p' infile.txt userC@hostC:"~/outfile.txt"
Run Code Online (Sandbox Code Playgroud)
我的问题是如何scp
通过两个中间服务器到第三跳服务器,以便:
A:/infile.txt -> B -> C -> D:/outfile.txt
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种使用类似于上面提供的第二跳示例的单行来执行此操作的方法……但是如果不可能,所有答案和方法都是有效的。
我想要做的与通过多个主机或其变体的SCP 不同,它使用 /etc/ssh/ssh_config 文件来设置别名。这不是我想要做的,我正在寻找单线。我也没有看到任何在起点和目的地之间有两个或更多代理主机的例子,所以我相信这个问题是非常有效的。
我有三台 Linux 服务器:
1. 数据库服务器 10.10.10.10
2. 应用服务器 10.10.10.52
3. 备份服务器 10.10.10.55
数据库和应用服务器之间有直接连接,应用和备份服务器之间有直接连接,但数据库和备份服务器之间没有连接。
我在数据库服务器中有一个文件,我想将其复制到备份服务器,但我不知道该怎么做。
如果有人有任何想法,请与我分享。
提前致谢。