SSH tunnel 设置

比我本地电脑开发了1个程序,需要让别人调用,但是我本地电脑没有外网地址,如何让别人能访问到?

假设我有另外1台机器具有外网地址,可不可以通过这台机器做个birdge 把我的程序开放出去?这样就不用每次我改了程序后一定要发布到这个服务器,方便测试?


答案是可以的。


利用 ssh Tunnel技术可以。


假设本地机器地址 192.168.1.1 ,启动了1个web server,有个程序 http://192.168.1.1/info.php

而且我同时有个外网地址机器(170.235.154.72),8080闲置,但是可用;那么

1)在外网地址机器上编辑配置文件 /etc/ssh/sshd_config中修改GatewayPorts no为GatewayPorts yes ,

 /etc/init.d/sshd restart


2)在本地机器 192.168.1.1 (假设为linux),键入命令:

ssh -R 8080:localhost:80 [email protected]

键入170.235.154.72的root用户密码, 那么这个tunnel就建了了。linux在192.168.1.1提示符会变换成 170.235.154.72提示符,当然,如果此时,你运行logout,那么这个通道会终止


好了,这时候,在任一机器上访问 http://170.235.154.72:8080/info.php,效果和 http://192.168.1.1/info.php 一样。


这既是神奇的SSH Tunnel !


这里注意自己的电脑得支持 ssh协议,得有ssh命令,linux机器都有。那么Windows机器呢?安装1个SSH工具就可以了,一般这些工具都包含ssh.exe命令行。


你可能感兴趣的:(ssh,Tunnel)