ssh 如何通过外网访问内网多台服务器

时间:2021-08-13 06:22:16

本帖子未验证:

我看到一个论坛,坛友发的一个问题
http://bbs.51cto.com/thread-934340-1.html
解决方法,我自己开了这个帖子写在这里。

首先你需要一个软件“SecureCRT 6.7” 通过这个软件自带的端口转发功能可以很好的解决您说的好多问题。
案例1:

内网有2太服务器:

A服务器:192.168.0.11

B服务器:192.168.0.12

外网路由器做了端口映射只允许192.168.0.11 服务器端口22。 管理员通过外网IP 200.100.10.10 访问22端口。

外网访问看到的主机是192.168.0.11 也就是A主机。 外网无法直接访问 B主机。 那怎么解决呢?

案例2:

加入某*部门做了IP 限制 只允许 北京IP 连接服务器,其他地区的来源IP 无法访问服务器.(从这个案例基本了解到
非北京地区的来源IP 是不能访问的,要想访问那就必须保证来源IP 是北京的。知道这点很重要。)
--------------
这2中案例都可以通过这个小小的软件实现“SecureCRT 6.7”。

----------
第一步:

我用案例1来解释:首先用外网IP 200.100.10.10 访问 主机A 。正常访问通过以后(不能关闭此会话)。
打开这个会话的”会话设置“
过程:Options:

Session  Options (会话选项)

Global Options   (全局选项)

选择”Session  Options“ 显示如下图

ssh 如何通过外网访问内网多台服务器

--------------------
操作步骤 按照图示,

2 标记: 设置一个名称(无所谓了)

3 标记: 是本地设置中port 端口设置 (目标端口被转换成本地的端口)

4 标记: 指定目标服务器IP地址是否启用 ”选择勾上“ 否则无法指定IP (标记5)

5 标记: hostname这里写的就是我们需要跳转访问的服务器地址。根据案例1 情况 这里就写192.168.0.12(B主机)

6 标记: 目标主机的真实访问端口 根据案例1 情况 这里就写22(B主机的)
---------------------------------
以上步骤设置完成 OK 保存就可以了。 现在您 新建一个会话 输入本地IP 127.0.0.1   3标记(Port)您设置的端口。
连接就可以了。
这样就直接连接到B 主机了。但是A主机的会话不能关闭  关闭的话 。 端口转发就无效了。也就无法本地127.0.0.1访问B主机了。

案例2 ,也可以用这个方法,只要找一个北京的服务器你连接以后会,同样设置这个转发,你就可以连接 北京做了限制的服务器了。
------------------------------------
通过以上启发,大家应该明白了端口转发了。 不但可以把 目标主机的 ssh 端口转发出来。  其他服务也可以。比如内网
某个服务器的 web服务 80  telnet 23   oracle 1521 (开发人员 远程管理连接Toad for  oracle工具
)常用。 不然做外网太多的内部端口映射不安全。 毕竟 ssh 是加密的。建议密钥访问 拒绝密码和root 用户直接登录。

答案写的有点仓促。不明白的 百度下这个软件的 端口转发功能,希望能帮助到楼上的这位朋友。
哦忘记说了  你是要上传文件到B 主机是吗   做完上面的功课,你直接在 127.0.0.1 会话 使用sz 命令上传就ok 了 。
或者使用其他上传工具 连接127.0.0.1 22端口 就能访问 B 主机
软件名称WinSCP。通过22号端口ssh 协议 直接上传下载的工具 。