原理
-f 后台执行ssh指令 -C 允许压缩数据 -N 不执行远程指令 -R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口 -L 将本地机(客户机)的某个端口转发到远端指定机器的指定端口 -p 指定远程主机的端口
反向代理
在需要被转发的机器上执行,后面跟的ip是代理主机的IP
ssh -fCNR 20022:localhost:22 root@ip
此时代理主机已经可以通过20022端口,反向访问到远程主机上
ssh admin@localhost -p 20022
在远程主机上执行命令可以看到20022端口已经被绑定
netstat -anlp|grep 20022
正向代理
接下来要做的是将代理主机上的两个本地端口绑定在一起
ssh -fCNL 10022:localhost:20022 root@localhost
实际操作
小米2S
因为群辉NAS的DSM系统无法安装依赖包,且ARM64的架构也一时无法安装上ipkg包管理系统,所以autossh无法启用 这里借助小米2S启动autossh服务
安装openssh
pkg install openssh
开启sshd
sshd
安装autossh
apt install autossh
使用autossh建立连接
autossh -M 30000 -fCNR 20022:192.168.31.24:22 ubuntu@18.163.186.179
参考: