通过 ssh 但没有 scp 或 sftp 传输文件

fst*_*tab 5 ssh file-transfer fuse

我需要通过ssh,但不幸的是scp并且sftp不可行,因为我连接的主机只是一个“门”节点,它将我重定向到另一台仅在它所连接的私有超级计算网络上可用的机器(因此它两次要求我输入密码)。因此,我无法在门节点上运行任何命令。

我想知道是否可以使用一些使用来自 ssh 连接的输出(终端)流的工具传输文件。

唯一的选择是以某种方便的格式输出文件,例如 base64,将它们复制到剪贴板并在本地解码(反之亦然)。

我开始对远程使用 vim 感到沮丧。我想要实现的是一个类似 rsync 的系统,在其中我在本地编辑我的程序的源代码,然后远程测试它,但是正如您所看到的,这并不容易。

我可能不是唯一一个遇到这个问题的人,所以我想一定存在一个有这个目的的工具吗?(使用 FUSE 的解决方案是最好的,但我知道这可能要求太多)。

Mel*_*lan 5

我不想留下这个作为答案,但评论部分越来越大,你会收到来自 SE 的通知,将对话带到聊天窗口。

所以,点击enter几次,~?不要输入空格。没什么。

你应该看到像这样(或完全像这样)

Supported escape sequences:
  ~.  - terminate connection (and any multiplexed sessions)
  ~B  - send a BREAK to the remote system
  ~C  - open a command line
  ~R  - Request rekey (SSH protocol 2 only)
  ~^Z - suspend ssh
  ~#  - list forwarded connections
  ~&  - background ssh (when waiting for connections to terminate)
  ~?  - this message
  ~~  - send the escape character by typing it twice
(Note that escapes are only recognized immediately after newline.)
Run Code Online (Sandbox Code Playgroud)

此时键入~C,您应该会看到ssh>提示。此时输入

ssh> !scp /path/to/some/file/on/your/local/machine user@remoteserver
Run Code Online (Sandbox Code Playgroud)

由于您已经通过身份验证,它应该通过现有连接传输文件。