参考:
其实参考里面写的很详细了,主要要注意的地方就是:
- 要在
/etc/ssh/sshd_config
设置Gatewayforword yes
,在用户目录下好像还是不行的
- 注意vps的防火墙,DO的vps自带ufw只对外开放22,80,443端口,(亏我还nmap了一下看到我定义的端口是开着的),关了ufw就可以直接端口转发了
- aria2界面可以进(转发了80端口)但是就算把6800端口映射过去也不能下载(直接跳失败),原因猜想是读取的是vps上的aria2配置(which does not exist),等搞出来了以后更新一下吧明天还要考试。
下面简单贴一下配置:
- vps有公网ip
- alex和alarm都在nat下面
- alarm是内网的下载机(NAS)
- 目标是用alex来操控alarm
alarm:
1 2 3 4 5 6
| # 把NAS的22号端口转发到vps的6766(自定义)端口(6777是autossh用来监听进程的) $ autossh -p 22 -M 6777 -NR '*:6766:localhost:22' vps_username@vps_ip -f # 把NAS的80端口转到vps的32000(自定义)端口,查看yaaw页面用的 $ ssh -NT -f -R *:32000:localhost:80 vps_username@vps_ip # 转发6800,aria2的端口 $ ssh -NT -f -R *:6800:localhost:6800 vps_username@vps_ip
|
vps:
1 2
| 编辑/etc/ssh/sshd_config GatewayPorts yes
|
注意是全局ssh的设置
alex:
1 2
| # 实现nat穿透 远程访问 $ ssh -p 6766 alarm@vps_ip
|
使用autossh自动重连:
1
| autossh -p 22 -M 6777 -NR '*:36000:127.0.0.1:22' alex@host_ip -4 -f
|
- -4 使用ipv4,否则会把连接认成是ipv6
- -f 在后台跑…不然没法挂着
- 要事先加好rsa.pub,否则-f跳过了输入验证码的环节没法开启隧道
tips
除了ssh使用的22号端口,80还有6800这样aria2和httpd使用的端口也可以映射,8200的dlna端口没有尝试。 仔细一想端口都暴露在外面好可怕(aria2没加密码等于是裸奔在互联网上),以防万一还是注意一下比较好。