SSH的正向連線和反向連線

2021-07-07 04:58:23 字數 1410 閱讀 6457

// 將中間主機可訪問的主機的指定埠 映象到本地指定埠

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.1

192.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 [email protected]

然後再在[個人主機p]訪問ftp即可訪問位址為:

// 將本地可訪問的主機的指定埠 映象到遠端指定埠

ssh -r 遠端ip:遠端埠:本地可訪問ip:本地可訪問ip的埠 root@遠端主機

案例:

公司為了安全配置了兩台機器,一台可供外網訪問[公司主機a]。另外一台不能外網訪問[公司主機b],但可與[公司主機a]互連。

現在我在公司,外網有同事要取公司[主機b]的檔案,但公司不能給他[公司主機a]的賬號資訊,但他知道[公司主機b]的個人ftp使用者資訊,但不能給我知道,無奈…..。

做以下操作:

現在可知道的資訊

主機名外網ip

內網ip

使用者密碼

[公司主機a]

218.200.20.1

192.168.1.100

root

我知道[公司主機b]

無192.168.1.101

root

不知道[同事主機p]

218.200.20.2

無root

我知道

ssh -r [要接收該對映的主機的可訪問ip]:[要接收該對映的主機的未占用埠]:[公司主機a可訪問的主機]:[公司主機a可訪問的主機的埠] [要接收該對映的主機的使用者]@[要接收該對映的主機的ip]

在公司的[公司主機a]上執行

ssh -r 127.0.0.1:2121:192.168.1.101:21 [email protected]

其實在外地的同事只需要訪問本機的127.0.0.1:2121就相當於訪問192.168.1.101:21了

SSH反向連線及Autossh

0.接觸linux恐怕對ssh再熟悉不過了,還有scp,sftp各種方便的功能,一般的使用都需要ip port 如果不是預設22的話 但有些情況比較特殊,就是想連線一台內網主機 比如公司內網,當然你肯定做不了port forwarding,除非你想在公司防火牆上拆個洞 稍懂一點網路的童鞋會明白,in...

SSH反向連線及Autossh

0.接觸linux恐怕對ssh再熟悉不過了,還有scp,sftp各種方便的功能,一般的使用都需要ip port 如果不是預設22的話 但有些情況比較特殊,就是想連線一台內網主機 比如公司內網,當然你肯定做不了port forwarding,除非你想在公司防火牆上拆個洞 稍懂一點網路的童鞋會明白,in...

SSH反向連線及Autossh

0.接觸linux恐怕對ssh再熟悉不過了,還有scp,sftp各種方便的功能,一般的使用都需要ip port 如果不是預設22的話 但有些情況比較特殊,就是想連線一台內網主機 比如公司內網,當然你肯定做不了port forwarding,除非你想在公司防火牆上拆個洞 稍懂一點網路的童鞋會明白,in...