如何通过远程 ssh 连接从 tmux(复制模式)运行 复制到本地剪贴板

How do you copy from tmux (copy mode) running on a remote ssh connection to your local clipboard

我 运行 linux 通过 OS X 上的 VirtualBox。我通过 运行 将我的 VM 置于无头状态然后通过 sshing 到 linux 机器使用端口转发。现在,无论复制到我的虚拟机上的剪贴板,我都可以粘贴到我的远程 ssh 会话中,但反之则不行(从 tmux 复制模式复制)。我尝试使用以下 tmux 配置:

setw -g mode-keys vi
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "tmux save-buffer - | ssh host pbcopy"

不幸的是,这不起作用...使用我的鼠标手动复制可以,但 tmux 复制模式更方便。有什么想法吗?

这需要将 tmux 缓冲区与 OSX 剪贴板集成。你试图用 ssh host pbcopy 做的就是这样,但我认为你的设置不正确。

host 这里应该是你本地的 OSX 机器。你应该在你的OSX用户名和你所在的远程用户运行 tmux之间建立基于密钥的无密码信任。

步骤 1. 在您的 OSX 上启用 SSH 转到 System preferences -> Sharing 并启用 Remote Login。同时从列表中删除管理员并添加您的用户名。

步骤 2. 设置无密码登录。
这些是 steps

第 3 步。 将您的 host 替换为 192.x.x.x 或您的 OSX 的任何可从您的 Virtualbox 访问的 IP 地址

我知道这个问题已经得到解答,但只是想提供一个替代解决方案;

在 tmux 复制模式下从远程主机复制文本到本地系统对我来说一直很痛苦,我经常使用 windows 笔记本电脑通过 SSH 连接到远程系统,但显然没有好的方法远程复制,特别是当您要复制一屏以上的文本时...

所以我写了一个工具:rclip,它使用 tmux 的复制管道命令将复制的文本通过管道传输到 rclip,rclip 将通过网络将文本转发到本地系统上的 rclip 进程 运行 , 它将接收到的文本复制到系统剪贴板;所有通信都通过 TLS 进行身份验证和加密;试一试,我很满意