是否有一种方便的方法可以在 SSH 会话中从服务器中提取文件?

J. *_*son 6 ssh file-transfer alias

我经常通过 SSH 连接到集群节点进行工作,并且在处理后想要将几个结果拉回我的本地机器进行分析。通常,为此我使用本地 shell 从服务器 scp,但这需要大量的路径操作。我更喜欢使用像交互式 FTP 这样的语法,并且只是将文件从服务器“拉”到我的本地密码。

另一种可能的解决方案可能是通过某种方式将我的客户端计算机自动设置为 ssh 别名,以便类似

scp results home:~/results
Run Code Online (Sandbox Code Playgroud)

会按预期工作。

有没有什么晦涩的 SSH 技巧可以为我做到这一点?


grawity的答案开始,配置文件中的完整解决方案类似于

本地 .ssh/配置:

Host ex
    HostName ssh.example.com
    RemoteForward 10101 localhost:22
Run Code Online (Sandbox Code Playgroud)

ssh.example.com .ssh/配置:

Host home
    HostName localhost
    Port 10101
Run Code Online (Sandbox Code Playgroud)

这让我可以执行完全一样的命令

scp results home:
Run Code Online (Sandbox Code Playgroud)

将文件结果传输到我的家用机器上。

小智 6

你试过 sshfs 吗?这很容易

> sshfs hostname: mountpoint
Run Code Online (Sandbox Code Playgroud)

fusermount -u mountpoint
Run Code Online (Sandbox Code Playgroud)

然后你可以使用所有经典和基本的文件操作命令。

http://en.wikipedia.org/wiki/SSHFS

http://fuse.sourceforge.net/sshfs.html


use*_*686 5

我更喜欢使用像交互式 FTP 这样的语法,并且只是将文件从服务器“拉”到我的本地密码。

使用sftp.

(提示:如果您不能或不想打开一个新窗口,您可以按Enter~、暂停 SSH 连接CtrlZ,传输文件,然后使用 恢复 SSH fg。)

另一种可能的解决方案可能是通过某种方式将我的客户端计算机自动设置为 ssh 别名

有几种方法。