关于ssh隧道原理自行百度
本次我是为了在异地访问内网的linux,前提是要有一台外网的服务器
ssh -CNf -R 内网端口:内网ip:外网端口 用户名@外网ip
如 ssh -CNf -R 22:127.0.0.1:12345 ubuntu@123.123.123.123
这样就可以实现ssh转发
只要通过 ssh -p12345 ubuntu@123.123.123.123就能在外网服务端访问NAT后面的设备
在这所有所有之前先做完一下工作,不然很可能失败
1.外网服务器打开网关
vim /etc/ssh/sshd_config
新加一行 gatewayports yes
service sshd restart
2.检查是否成功打开隧道
ss -tnlp|grep 12345
3.NAT后面的设备要允许相应ip访问,如果是mac电脑要打开远程登陆
Linux:vim /etc/hosts.allow 然后添加一行123.123.123.123
Mac:系统偏好设置-共享-远程登陆-打开
举一反三,也可以通过ssh隧道让服务器代理内网的8080端口访问网页,ftp端口21做内网文件服务器。。。