我正在其他服务器上的 ssh Linux 服务器上工作。要登录,我必须先登录到第一台服务器,然后从这台服务器转到我工作的服务器。
我用别名来做这件事
ssh -J [email protected] [email protected]
如果我想scp
使用[电子邮件保护]到我的本地计算机我首先将文件移动到[电子邮件保护]然后从这里传到我的电脑。有没有办法直接做到这一点???
答案1
该scp
命令-J
也能理解该选项。因此,与你的命令类似ssh
,你可以执行
scp -J [email protected] [email protected]:junk.file local/garbage
答案2
我建议不要使用别名,而是创建一个 ~/.ssh/config 文件条目,在其中为 Host whatever.foo.ac.uk 设置一个ProxyJump
或ProxyCommand
- 这样它就应该适用于 ssh 和 scp。例如:
Host hpc
Hostname whatever.foo.ac.uk
User first
ProxyJump [email protected]
然后你就可以这样做
ssh hcp
或者
scp hcp:/path_to_remote/file localfile
等等,无论你本地的 shell 是什么,都是透明的。例如参见