当前位置: 首页 > 面试题库 >

如何从远程SSH会话将数据发送到本地剪贴板

孟彦
2023-03-14
问题内容

Borderline ServerFault问题,但是我正在 编程 一些shell脚本,所以我先在这里尝试:)

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

pbcopy, pbpaste

无论如何,在通过SSH连接到另一台服务器时是否可以复制此功能?那是,

  1. 我正在使用计算机A。
  2. 我打开一个终端窗口
  3. 我通过SSH连接到计算机B
  4. 我在计算机B上运行命令
  5. 计算机B的输出将被重定向或自动复制到计算机A的剪贴板中。

是的,我知道我可以(使用鼠标)从命令中选择文本,但是我已经习惯了将输出直接拖到剪贴板的工作流程,因此我希望对远程会话也是如此。

代码是有用的,但也欢迎使用一般方法。


问题答案:

我正在恢复该线程,因为我一直在寻找相同的解决方案,并且已经找到了一种适合我的解决方案。这是对OSX
Daily
的建议的较小修改。

就我而言,我使用本地OSX计算机上的Terminal通过SSH连接到linux服务器。像OP一样,我希望能够仅使用键盘将少量文本从终端传输到本地剪贴板。

解决方案的实质:

commandThatMakesOutput | ssh desktop pbcopy

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

它要求将您的桌面配置为ssh服务器(我留给您和Google使用)。如果您已经设置了ssh密钥来促进ssh的快速使用,则要容易得多,最好使用每个会话的密码短语或任何您的安全需求。

其他例子:

ls  | ssh desktopIpAddress pbcopy
pwd |  ssh desktopIpAddress pbcopy

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

#!/bin/bash
ssh desktop pbcopy

就我而言,我使用的是特别命名的密钥

我以文件名 cb (我的助记符(ClipBoard))保存了该脚本。将该脚本放在您的路径中的某个位置,使其可执行并执行以下操作:

ls | cb


 类似资料:
  • 问题内容: 这是我在用户单击此按钮时的代码: 如何在此div中复制文本? 问题答案: JAVASCRIPT:

  • 这是用户点击此按钮时的代码: 如何复制此div中的文本?

  • 问题内容: 我希望python程序在Mac剪贴板中放置一些文本。 这可能吗? 问题答案: 新答案: 该页面建议: 所有Mac OS X版本的实施 另一个Mac模块(清单4中的MacSharedClipboard.py)在名为pbcopy(将文本复制到剪贴板)和pbpaste(将剪贴板中的任何文本粘贴)的两个命令行程序之上实现剪贴板界面。前缀“ pb”代表“粘贴板”,Mac在剪贴板中是术语。 旧答案

  • 问题内容: 在我的Go语言命令行应用程序中,我需要能够使用Go将某些文本片段复制到系统剪贴板。基本上类似于PyperClip,但适用于Go。 我正在寻找与平台无关的解决方案!任何帮助将是巨大的:) 问题答案: 一个项目(仅适用于Windows和Mac)似乎正在接近您想要的:。 提供复制和粘贴到剪贴板的Go。 剪贴板_linux.go类中提供Linux支持:系统命令的简单包装。 另一种方法:尝试利用

  • 问题内容: 我正在尝试从golang中的SSH会话读取数据。我编写了以下函数来尝试实现此目的。 我遇到了一个问题,尝试从stdout读取内容,它为空,导致程序锁定。为了解决这个问题,我编写了BufferSocketData,它检查ReadDataFromSocket应该附加到的通道,如果它有数据,则将其添加到缓冲区。如果1秒钟后仍未收到任何数据,它将停止读取。 但是,这不能正常工作,我不确定为什么

  • 问题内容: 我是Rails和Web开发的新手。 我正在Matlab中生成一堆对象,我想将这些对象发送到我的Rails应用程序中的数据库中。谁能建议我该怎么做? 到目前为止,在Rails端,我已经为数据生成了基本的支架。我可以使用“ / myobjects / new”中的表单将对象添加到数据库中。 在Matlab端,我一直在尝试使用HTTP POST请求添加对象,如下所示: 这将失败,并将以下内容