问题描述: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隧道转发