用例示例:
- 我正在使用运行 Mac OS X 的笔记本电脑(A)并登录到我的开发服务器(乙)通过 SSH。
- 我有一个脚本,它将为我当前在编辑器中打开的文件/分支生成一个 GitHub URL(乙)。
- 我想在笔记本电脑的浏览器中打开该 URL(A)。
其他用例可能包括:
- 每次保存文件时刷新浏览器
- 当我发出git 命令
- 打开与我已检出的分支对应的 Jira 票。
答案1
您可以使用 SSH 反向隧道。它的工作原理如下;在您使用的机器上执行此操作,remote_server
这是远程服务器的名称:
ssh -R 13000:localhost:22 remote_server
并在您的图像中local machine
显示remote server
:
ssh <USERNAME>@localhost -p 13000 "DISPLAY=:0 ristretto <IMAGE>"
编辑:Mac OS 机器上可能没有安装 X 服务器,我不使用它,但总体思路是一样的。使用反向隧道的优点是您的本地机器不必具有公共 IP 地址。
答案2
这可能不是解决这个问题的最优雅的方法,但是——因为你使用的是 Mac OS X——如果你已经远程控制另一台机器,我能想到的唯一办法就是像这样向你的主机发出 SSH 命令。最大的先决条件是你需要在 Mac OS X 笔记本电脑上启动并运行 SSH 服务器,并确保路由器的防火墙规则允许在端口 22 上建立 SSH 连接,这样才能正常工作。
因此,我们假设您的笔记本电脑已命名machineA
,并且您想http://google.com
从远程计算机打开类似以下 URL(乙)那么你只需在机器上发出这个 SSH 命令乙。
ssh username@machineA 'open http://google.com'
这将启动一个连接到您本地机器的 SSH,并运行命令,open http://google.com
该命令将打开一个浏览器窗口(基于您的默认浏览器),该命令将转到传递给它的 URL http://google.com
;。