通过 SSH 将输入复制到剪贴板?

Naf*_*Kay 41 ssh xorg clipboard

这是我的使用案例:

  • 我经常通过 SSH 连接到其他计算机进行工作,我经常需要将文档/文本从服务器复制并粘贴到本地运行的编辑器,以编写示例和共享文本。
  • 通常,如果文本足够小,我会简单地从我的终端程序(目前为 gnome-terminal)复制输出并粘贴它。
  • 但是,当涉及到整个文档时,我的选择非常有限。我可以逐块复制文档,也可以将其复制scp到本地计算机。

有没有办法使用诸如xclip允许我远程复制stdin到本地 X 服务器的剪贴板的程序?有以下作用:

cat myconffile.conf | sed {...} | copy-over-ssh-to-local-clipboard
Run Code Online (Sandbox Code Playgroud)

会很棒。有什么东西可以使这成为可能吗?

Gil*_*il' 24

如果您使用 X 转发运行 ssh,这是透明的:远程命令(包括xclip)可以访问您的 X 服务器(包括其键盘)。确保ForwardX11 yes在您的~/.ssh/configX11Forwarding yes服务器中都有sshd_config(根据您的发行版,这些选项可能默认打开或关闭)。

<myconffile.conf sed {...} | xclip -i
Run Code Online (Sandbox Code Playgroud)

还有其他处理远程文件的方法可能更方便,例如使用SSHfs在本地机器上挂载远程目录,或者使用Tramp在 Emacs 中打开远程文件。如果您设置了ssh 和FUSE并安装了 SSHfs,则 SSHfs 就像mkdir ~/net/myserver; sshfs myserver:/ ~/net/myserver. 如果您设置了 ssh 并安装了 Emacs,Tramp 就像打开/myserver:/path/to/file.

  • @TKKocheran 不是真的。在服务器端,没有。在客户端,一点点,因为它为服务器管理员提供了进入您客户端的途径,但在 99% 的情况下,服务器管理员无论如何都有办法;请参阅[如果有人在我的计算机上登录了 SSH,我可以访问他们的计算机吗?](http://superuser.com/questions/202123/if-someone-is-signed-into-ssh-on-my-computer- can-i-access-their-computer/202970#202970) (2认同)

gee*_*aur 7

你不需要任何特别的东西;既然xclip工作结束了stdin,只是

ssh remotehost xclip < myconf.conf
Run Code Online (Sandbox Code Playgroud)

为什么需要修改sedssh不作为终端使用时对数据透明,常用于管道等

tar cfz - somedir | ssh remotehost 'cd destdir; tar xfz -'`
Run Code Online (Sandbox Code Playgroud)


小智 5

这是从本地计算机在 OSX 上执行此操作的方法

ssh remotehost.com "<some/file.txt" | pbcopy
Run Code Online (Sandbox Code Playgroud)