商务合作加Q:411239339

ssh反向代理互联网与局域网互通

浏览:650次阅读
没有评论

共计 1108 个字符,预计需要花费 3 分钟才能阅读完成。

1、ssh 反向代理配置

ssh -o options   -f -N ...

-R [服务器 IP 或省略]:[服务器端口]:[客户端侧能访问的 IP]:[客户端侧能访问的 IP 的端口] [登陆服务器的用户名 @服务器 IP] 

-p [服务器 ssh 服务端口(默认 22)]

其中,服务器 IP 如果省略,则默认为 127.0.0.1,只有服务器自身可以访问。指定服务器外网 IP 的话,任何人都可以通过 [服务器 IP: 端口] 来访问服务。当然,这个时候服务器本机也要输入外网 IP: 端口来访问。举例说明:

假设你家里的 PC 机 IP 是 192.168.1.2,你可以 ssh 到外网某台服务器 2.2.2.2,你公司内网里有一台服务器 3.3.3.3。如果你想在家里访问公司服务器上的 ssh 服务,那么你可以首先在你的公司服务器上做好 SSH TUNNEL 反向代理,执行以下命令:

ssh -o  ServerAliveInterval=60 -f -N -R 2.2.2.2:2222:127.0.0.1:22 test@2.2.2.2 -p 22

上面这个命令的意思是:把你公司服务器 3.3.3.3 的 22 号端口映射到公网机器上 2.2.2.2 的 2222 端口,

解释下命令含义:

ServerAliveInterval:客户端这边定义的从中保活发送间隔(是不是有时候用 SSH 连接的时候,一段时间不活动就会断开呢,哈哈,自己去查怎么回事吧,其实已经告诉你了。)

-f:后台运行

-N:不执行远端命令

-R:反向代理

此时你用 ssh 工具连接到 2.2.2.2 上后,再输入命令:

netstat -an | grep 22222
tcp        0      0 127.0.0.1:22222             0.0.0.0:*                   LISTEN 
#可以看到 22222 端口绑定在 127.0.0.1 上面
ssh -p 2222 root@127.0.0.1

在服务器上就可以连接到你的公司服务器 3.3.3.3 上面了。

下面图解下:

ssh 反向代理互联网与局域网互通

2、通过 SecureCRT 配置端口转发

首先打开 SecureCRT 正常 ssh 连接到你的公网服务器 2.2.2.2 上边,点击菜单栏的 "Options->Session Options->Port Forwarding->Add...",如图:

ssh 反向代理互联网与局域网互通

ssh 反向代理互联网与局域网互通

此时,再新建一个 ssh 连接:

ssh 反向代理互联网与局域网互通

这样就成功连接至你公司的内网机器 3.3.3.3 上了。

3、思考题

如果你公司内网有一台机器是 3.3.3.4,是你的 Windows 主机,而且开放了 3389 远程连接端口,你再怎么在这个新的连接上做端口转发,从而成功远程连接到你公司的 Windows 机器呢?

如果对文中有什么不懂的,就给我留言吧!

正文完
扫码赞助
post-qrcode
 0
果子
版权声明:本站原创文章,由 果子 于2015-12-23发表,共计1108字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。
评论(没有评论)