如果我已经通过 SSH 远程访问一台机器,有没有一种简单的简便方法来编写 scp 命令将文件复制回所连接的计算机?
换句话说,如果我工作站A并连接到外壳上服务器B,我可以这样做吗:
scp /home/adam/somefile.txt PLACEHOLDER_FOR_WORKSTATIONA:/home/adam/myfile.txt
而不必有意识地思考“我的计算机的主机名/ IP 是什么”,然后重新登录我已经登录的计算机?
adam@workstationA:
本质上替代了scp /home/adam/somefile.txt adam@workstationA:/home/adam/somefile.txt
?
当我已经连接到两个主机时,这似乎只会让事情变得更加繁琐,我觉得我不需要再次登录并浪费额外的击键。
谢谢
答案1
您可以通过在“serverB”目录config
中创建一个文件来实现此目的。.ssh
类似于:
Host workstation-a
HostName 192.168.x.x
User adam
Port 22
现在您可以使用workstation-a
而不是[email protected]:22
。您还可以使用 ssh 密钥来防止它询问密码。它甚至支持Tab完成,您可以输入,work
然后点击Tab并完成,现在就是这样workstation-a
。
或者,您也可以使用sftp
,安装后使用sudo apt install sftp
并连接到“serverB”,您可以使用get
命令检索远程文件并将其存储在本地计算机上。