Vscode SSH使用云服务器访问内网主机
云服务器在配置策略中开放使用到的端口号,比如250和251作为使用。
首先在内网主机上使用ssh-copy-id root@云服务器公网IP
,将内网主机的公钥放到服务器上
这一步必须完成,不然下面的命令无法成功建立隧道。
内网中主机使用,建立隧道
shell
autossh -M 251 -fCNR 250:localhost:22 root@云服务器公网IP
vscode中ssh文件的配置如下:
tex
Host aliyun
HostName 云服务器公网IP
User root
Host jetsonNano
HostName localhost
User jetson
Port 250
ProxyCommand ssh -A -q aliyun -W %h:%p
成功实现:使用aliyun作为跳板机来访问内网主机jetsonNano
设置为开机自启动
linux中使用systemctl enable/diable xxx.service
来启用或者禁止某个开机服务。
推荐写一个服务使用systemctl来控制开机执行。
但是还有对System V的兼容实现------rc-local.service
在Ubuntu系统中/etc目录下面已经不存在rc.local文件了。为此我们使用touch 新建一个rc.local文件,文件内容为:
shel
#!/bin/bash
autossh -M 251 -fCNR 250:localhost:22 root@云服务器公网IP
...
等等其他需要执行的脚本
执行chmod a+x rc.local
给rc.local文件增加可执行权限,系统将自动启用rc-local.service
执行systemctl daemon-reload
之后
使用systemctl list-dependencies multi-user.target | grep rc
可以验证服务每次开机启动之后将会被执行。