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。
此方法的一个缺点是,除非您使用子电脑上的键盘启动客户端,否则复制和粘贴将不起作用。
| 归档时间: |
|
| 查看次数: |
1689 次 |
| 最近记录: |