登录到远程时,如何引用本地计算机进行scp?

Asb*_*tos 13 unix scp

这一定是一个非常简单的问题,但我试图将文件从远程服务器移动到我的本地计算机,同时登录到远程(通过ssh).

所有导游都说要使用

scp name@remote:/path/to/file local/path/to/file
Run Code Online (Sandbox Code Playgroud)

但据我所知,这将是我在本地机器上使用的内容.从远程机器,我假设我想使用类似的东西

scp /path/to/file my_local_computer:/local/path/to/file
Run Code Online (Sandbox Code Playgroud)

但是(如果这甚至是正确的)我怎么知道为my_local_computer放入什么?

谢谢!

And*_*eas 8

您可以通过检查环境变量SSH_CONNECTION和/或SSH_CLIENT来自动确定您的登录位置.例如,SSH_CONNECTION显示客户端地址,客户端上的传出端口,服务器地址和服务器上的传入端口.参见环境部分man ssh

因此,如果要将文件从服务器复制到您从中登录的客户端,则以下(通过采用SSH_CONNECTION的第一部分来推断客户端IP)应该可以正常工作:

scp /path/to/file $(echo $SSH_CONNECTION | cut -f 1 -d ' '):/local/path/to/file
Run Code Online (Sandbox Code Playgroud)

安德烈亚斯