边界服务器故障问题,但我正在编程一些shell脚本,所以我先在这里尝试:)

大多数*nixes都有一个命令,可以让您将输出管道/重定向到本地剪贴板/粘贴板,并从中检索。在OS X上,这些命令是

pbcopy, pbpaste 

当SSHed到另一个服务器时,是否有办法复制此功能?也就是说,

我用的是电脑A。 我打开一个终端窗口 我SSH到计算机B 我在计算机B上运行一个命令 计算机B的输出被重定向或自动复制到计算机A的剪贴板。

是的,我知道我可以(战栗)用鼠标从命令中选择文本,但我已经习惯了直接将输出输出到剪贴板的工作流程,所以我希望远程会话也能这样。

代码很有用,但通用方法也很有用。


当前回答

不是一行程序,但不需要额外的ssh。

必要时安装netcat 使用termbin: cat ~/some_file.txt | nc termbin.com 9999。这将把输出复制到termbin网站,并将URL打印到输出中。 从您的计算机访问该url,您将获得输出

当然,不要将其用于敏感内容。

其他回答

远程管理器Linux端口支持在本地和远程主机之间同步剪贴板。您只需打开本地far2l,在里面执行“ssh somehost”,在ssh会话中运行远程far2l,并使用本地剪贴板获得远程far2l。

它支持Linux, *BSD和OS X;我做了一个特殊的putty构建来利用这个功能从窗口也。

我重新启用这个帖子是因为我一直在寻找同样的解决方案,我已经找到了一个适合我的解决方案。这是对OSX日报建议的一个小修改。

在我的例子中,我使用本地OSX机器上的Terminal通过SSH连接到linux服务器。像OP一样,我希望能够仅使用键盘将小块文本从终端传输到本地剪贴板。

解决方案的精髓:

commandThatMakesOutput | ssh desktop pbcopy

当在远程计算机的ssh会话中运行时,该命令接受commandThatMakesOutput的输出(例如ls, pwd),并将输出管道输出到本地计算机的剪贴板(“desktop”的名称或IP)。换句话说,它使用嵌套ssh:您通过一个ssh会话连接到远程计算机,在那里执行命令,远程计算机通过另一个ssh会话连接到您的桌面,并将文本放入剪贴板。

它要求将您的桌面配置为ssh服务器(我把它留给您和谷歌)。如果您已经设置了ssh密钥以方便快速使用ssh,那么就会容易得多,最好使用每个会话的密码短语,或任何您的安全需求。

其他的例子:

ls  | ssh desktopIpAddress pbcopy
pwd |  ssh desktopIpAddress pbcopy

为了方便起见,我创建了一个bash文件来缩短管道后所需的文本:

#!/bin/bash
ssh desktop pbcopy

在我的情况下,我使用一个特殊命名的密钥

我用文件名cb(我的助记符(剪贴板)保存它。把脚本放在你路径的某个地方,让它可执行,瞧:

ls | cb

最简单的解决方案,如果你在OS X上使用Terminal,并且你已经在远程服务器上ssh了,并且希望获取文本文件或日志或csv的结果,简单地:

1) Cmd-K清除终端输出

2) cat <filename>显示文件的内容

3) Cmd-S保存“终端输出”

你需要手动删除文件的第一行和最后一行,但这种方法比依赖其他要安装的包、“反向隧道”和尝试使用静态IP等要简单一些。

对于任何通过谷歌搜索到这个的人来说: 在这个时代,最好的解决方案似乎是柠檬水

在剪贴板工具的neovim帮助文本中也提到了各种解决方案

如果你在Kubernetes集群中的pod上工作,而不是直接使用SSH,所以你没有办法进行文件传输,你可以使用cat,然后将终端输出保存为文本。例如,在macOS中,您可以执行Shell ->导出为文本。