📜  在 ssh 到另一个终端时复制到剪贴板 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:23:19.794000             🧑  作者: Mango

在 ssh 到另一个终端时复制到剪贴板 - Shell-Bash

在shell或bash终端中,当我们使用ssh命令连接到其他机器时,我们通常会希望复制一些文本或命令到本地剪贴板,以便在本地终端中粘贴使用。在本文中,我们将介绍如何在ssh连接期间将复制的内容复制到本地剪贴板中。

方案1:X11转发

在ssh连接中,可以使用X11转发功能实现将远程应用程序的GUI画面转发到本地显示器。在启用X11转发后,我们可以在ssh连接期间复制剪贴板内容并在本地使用。

步骤1:启用X11转发

要启用ssh连接的X11转发,请在本地使用以下命令连接到目标机器:

$ ssh -X username@hostname
步骤2:使用剪贴板

现在,在ssh连接中,您可以使用系统的默认剪贴板管理工具(如xclip或xsel)将剪贴板文本复制到本地剪贴板中。以下是复制ssh会话中的文本的示例:

$ cat file.txt | xclip -selection clipboard

在本地终端中,您可以使用Ctrl + V将剪贴板中的内容粘贴到其他程序中。

方案2:SSH剪贴板转发

我们可以使用ssh剪贴板转发功能将远程剪贴板转发到本地,从而使用远程剪贴板操作本地剪贴板。以下是如何使用ssh剪贴板转发:

步骤1:启用SSH剪贴板转发

在ssh连接中,使用以下命令启用ssh剪贴板转发功能:

$ ssh -R 2222:localhost:22 user@remote-host

在这里,我们将远程主机上端口2222上的ssh服务转发到本地主机上的端口22。

步骤2:使用远程剪贴板

现在,在ssh连接中,您可以使用远程剪贴板管理器(如xclip或xsel)将远程剪贴板文本复制到远程剪贴板中。以下是将远程剪贴板复制到本地剪贴板的示例:

$ ssh -p 2222 user@localhost xsel -o | xsel -bi

在本地终端中,您可以使用Ctrl + V将剪贴板中的内容粘贴到其他程序中。

结论

无论您使用哪种方法,都可以在ssh连接期间将内容复制到剪贴板中。使用X11转发意味着您可以在任何GUI应用程序中使用本地剪贴板,而使用SSH剪贴板转发意味着您可以在命令行应用程序中使用本地剪贴板。 无论哪种方法都具有自己的优点和用途,取决于您的需求和偏好。