有局域网主机A,和公网主机B,现在想通过autossh将局域网主机A的某个端口映射到公网主机B的某个端口,从而实现通过外网访问家里的某些服务。
1.A主机安装autossh
2. 配置A主机使其可以ssh登录B主机
3.A主机执行以下命令
autossh -M Aport -NR Bport:Abindaddress:Aport Buser@Baddress -pBport -f
专属参数 | 说明 | 示例 |
---|---|---|
-M | 绑定一个端口监视连接状态,连接有问题时就会自动重连 | 5678 |
-N | 不执行远程指令 | |
-R | 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口 | |
-L | 将本地机(客户机)的某个端口转发到远端指定机器的指定端口 | |
-f | 后台执行 |
其它参数同ssh,可以同时开启多个端口映射。
4.raspberry pi示例
autossh -D 1080 -M 6666 -NR 6800:localhost:6800 -NR 1234:localhost:22 user@publicHostIp -p12345 -f
-D 表示走ssh请求走ss代理
将局域网的6800端口和22端口映射到公网主机的6800端口和1234端口上,然后后台运行。