ssh双向复制
在主机A通过ssh连接到主机B时,我们在A内复制的文本可以通过Ctrl+Shift+v粘贴到B,但是B内复制的却不能与A共享。
可能这里会造成一个疑惑:明明我复制ssh的shell信息也可以粘贴出来。其实这里复制复制的是终端上的字,并不是ssh的shell内复制,还是相当于本机复制。
这一点可以通过xsel工具做验证:
# A |
可以看到虽然A复制的B的终端输出信息,但是却没有进入B的剪切板,而是进入A的剪切板,说明复制的是终端上的字,并不是ssh的shell内复制。
如果这里做一个假设,在B的shell打开一个vim进行复制(已经配置好vim复制内容进入剪切板),此时B复制的内容A还能粘贴出来吗?答案是肯定不行的,因为进入的是B的剪切板而不是A的。
tmux也是同理,tmux中复制进入的是tmux的bufer,我们也可以配置成进入系统剪切板。但无论如何,开在B上面的tmux或vim进入的都是B的系统剪切板。所以这里要做的工作就是将A和B的系统剪切板共享。
X11转发配置
首先确保B上面安装了X11软件包(如果是server版本可能并没有安装):
❯ sudo apt install xorg xauth x11-apps xterm |
在B上面修改/etc/ssh/sshd_config
以支持X11转发:
X11Forwarding yes |
重启sshd服务:
❯sudo systemctl restart sshd |
在A上面通过ssh连接启用X11转发有两种方式:
- 方式1:
ssh -Y <username>@<ip-addr>
- 方式2: 添加
ForwardX11 yes
到config
此时从A进入到B的shell中后,就可以运行如下命令测试x11是否转发:
$ xclock |
相关阅读
在服务器配合这两个文档基本可以横着走:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TroyMitchell's blog!