问题描述:ssh到远端服务器时,需要图形界面交互式操作,ssh -XY 传输太慢。

对于可以用浏览器打开的软件可以用ssh tunneling的方法,将远端服务器上的数据和软件加载到本地机器上使用。

打开本地终端登录远端服务器,进入python环境,输入:

 jupyter notebook --no-browser --port=20000 

这里20000作为远端端口,可自定义。

打开另一个终端,输入:

 ssh -L -N -f localhost:2001:localhost:20000 yy@Virgo 

这里-L指定port forwarding的配置,-N告诉ssh没有命令要被远端执行,-f告诉ssh在后台执行,2001是转发到本地的端口,20000是远端端口。
yy是用户名,Virgo是服务器名,打开浏览器,输入 http://localhost:2001/
就可以在本地打开jupyter notebook了,这比ssh -XY快多了!

同样的方法也可以应用到CARTA的使用上!

打开本地终端登录远端服务器,输入:

 ./carta-v3.0-x86_64.AppImage --no_browser 

CARTA在linux服务器上需要root安装(没有权限),要么AppImage下载,但是一直苦于无法远程打开,文件carta-v3.0-x86_64.AppImage 是直接下载AppImage格式文件。执行完上面的命令后,会有一行返回信息如下
“CARTA is accessible at http://10.10.10.1:3003/?tokeny3472848213789789” 如果在本地浏览器中打开怎么也链接不上,尝试10.10.10.1换成服务器IP也不行。

打开另一个终端,输入:

 ssh -L -N -f localhost:2021:localhost:3003 yy@Virgo 

打开浏览器,输入 http://localhost:2021/?tokeny3472848213789789
就可以在本地打开CARTA了!这里一定要带上?tokeny3472848213789789,因为没有权限无法加载,不像jupyter notebook有手动输入token的机会。

以上是在linux系统下测试,os系统下可能会有报错

os的终端中运行ssh -L -N -f localhost:2001:localhost:20000 yy@Virgo,会出现“Bad local forwarding specification '-N'”的报错,
替换成 ssh -fNL localhost:2001:localhost:20000 yy@Virgo 就解决了。

参考:


bing里面搜索ssh隧道转发
[]