您的位置:首页 > 其它

SSH的正向连接和反向连接

2015-11-14 15:26 190 查看

正向连接

// 将中间主机可访问的主机的指定端口 镜像到本地指定端口

ssh -L 本地IP:本地端口:中间主机可访问的IP:中间主机可访问的IP的端口 root@中间主机

案例:

公司为了安全配置了两台机器,一台可供外网访问[公司主机A]。另外一台不能外网访问[公司主机B],但可与[公司主机A]互连。

现在我在遥远外地,我要取公司[主机B]的文件,但此时无人在公司。

但我有一台连接外网的[个人主机P],可以做如下操作:

ssh -L [个人主机P]:[个人主机P未被占用的任意端口]:[公司主机B]:[公司主机B对应服务的端口] [公司主机A用户]@[公司主机A外网IP]

假设:

主机名外网IP内网IP
[公司主机A]218.200.20.1192.168.1.100
[公司主机B]192.168.1.101
[个人主机P]218.200.20.2
我要访问内网101的FTP的话,就在[个人主机P]上执行:

ssh -L 127.0.0.1:2121:192.168.1.101:21 root@218.200.20.1

然后再在[个人主机P]访问ftp即可访问地址为:ftp://127.0.0.1:2121

反向连接

// 将本地可访问的主机的指定端口 镜像到远程指定端口

ssh -R 远程IP:远程端口:本地可访问IP:本地可访问IP的端口 root@远程主机

案例:

公司为了安全配置了两台机器,一台可供外网访问[公司主机A]。另外一台不能外网访问[公司主机B],但可与[公司主机A]互连。

现在我在公司,外网有同事要取公司[主机B]的文件,但公司不能给他[公司主机A]的账号信息,但他知道[公司主机B]的个人FTP用户信息,但不能给我知道,无奈…..。

做以下操作:

现在可知道的信息

主机名外网IP内网IP用户密码
[公司主机A]218.200.20.1192.168.1.100root我知道
[公司主机B]192.168.1.101root不知道
[同事主机P]218.200.20.2root我知道
ssh -R [要接收该映射的主机的可访问IP]:[要接收该映射的主机的未占用端口]:[公司主机A可访问的主机]:[公司主机A可访问的主机的端口] [要接收该映射的主机的用户]@[要接收该映射的主机的IP]

在公司的[公司主机A]上执行

ssh -R 127.0.0.1:2121:192.168.1.101:21 root@218.200.20.2

其实在外地的同事只需要访问本机的127.0.0.1:2121就相当于访问192.168.1.101:21了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: