如何通过 SSH 建立 Synergy 隧道?

Jac*_*acs 2 ssh tunnel synergy

非常简单。

如何通过 ssh 建立 Synergy 隧道?

我需要通过 ssh 隧道将客户端连接到服务器以获得更安全的连接。

小智 5

我知道这是很久以前的事了,但它仍然出现在搜索引擎中,所以我想我会回答。

假设您对一台名为“”的电脑进行了简单的设置,这就是带有键盘和鼠标的电脑。“”是您要连接的那个,它没有键盘和鼠标。

[user@parent ~]$ cat /home/user/synergy-over-ssh.conf
section: screens
  parent:
  child:
end
section: links
  parent:
    right = child
  child:
    left  = parent
end
section: options
  screenSaverSync = true
end
Run Code Online (Sandbox Code Playgroud)

第一步是在父级上运行服务器

[user@parent ~]$ synergy-core --server --address 127.0.0.1 -c /home/user/synergy-over-ssh.conf -n child-pc
Run Code Online (Sandbox Code Playgroud)

这将启动服务器侦听父级上的端口 24800。

$ netstat -anp | grep synergy
tcp        0      0 127.0.0.1:24800         0.0.0.0:*               LISTEN      3290/synergy-core
Run Code Online (Sandbox Code Playgroud)

现在我们需要从父级连接到子级,但随后需要从子级端口 24800 发送父级上的端口 24800。

[user@parent ~]$ ssh child-user@child -R 127.0.0.1:5900:127.0.0.1:5900
[child-user@child ~]$ 
Run Code Online (Sandbox Code Playgroud)

在子进程上,您需要运行客户端并告诉它连接到本地主机或 127.0.0.1

synergy-core --client --name child 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

现在,在父屏幕上,您应该能够将鼠标滚动到父屏幕的右侧,并(似乎)将其移动到子屏幕。

您可以通过在~/.ssh/config文件中添加一个条目来使其更加永久

[user@parent ~]$ cat /home/user/.ssh/config
Host child
  user child-user
  Hostname ip.or.host.of.child.pc
  RemoteForward 127.0.0.1:24800 127.0.0.1:24800
Run Code Online (Sandbox Code Playgroud)

这将允许

[user@parent ~]$ ssh child
[child-user@child ~]$ 
Run Code Online (Sandbox Code Playgroud)

您可以通过创建一个脚本来自动化整个过程,该脚本可以干净地启动协同作用,然后连接到后台的子进程,而无需使用“-N”选项打开 ssh 终端。

#!/bin/bash
killall synergy-core
synergy-core --server --address 127.0.0.1 -c /home/user/synergy-over-ssh.conf -n child-pc
ssh -N child >/dev/null 2>&1 & 
Run Code Online (Sandbox Code Playgroud)

在客户端上,您应该有一个自动启动脚本,例如 $ cat ~/bin/startsynergy.sh #!/bin/bash Killall synergy-core sleep 2 synergy-core --client --name child 127.0.0.1 exit 0

请注意,在旧版本上,将synergy-core --server替换为synergys,将synergy-core --client替换为synergyc

此方法的一个缺点是,除非您使用子电脑上的键盘启动客户端,否则复制和粘贴将不起作用。