ssh客户端通过挖隧道方式直接在本机通过中转服务器,直接访问不能直达的服务器

时间:2024-06-03 06:59:59

      由于我们的服务器在中国移动的机房,有一个外网地址与之对应,原来可以直接通过ssh客户端直接连接登录上进行操作,但由于最近因为安全问题,对访问服务器加了限制,只允许指定的某个ip通地ssh访问服务器;这样我们只能提供我们做集成测试的一个阿里云服务器的ip;这样的话,所有对位于移动机房中的服务器的上传文件和ssh操作,均需要先上传或登录至阿里云,然后再通过阿里云进行跳转;非常的不方便。为了像原来一样方便地上传文件和登录服务器;这样使用了ssh挖隧道的功能。

     这里我使用的ssh客户端工具为secureCRT;
     对应的阿里云的IP为:123.**.***.78   ssh的端口为9898
     对应的移动机房的IP为:218.***.**.242  ssh的端口为12580

     1.使用ssh命令创建隧道
        (1)ssh -p 9898 -L 11125:218.***.**.242:12580 fan****@123.**.***.78 (该命令可以在macOS的终端界面执行)
             这样就在本机上创建了一个11125的端口隧道,创建完隧道后,不要关闭该终端页面;
             登录名和密码使用阿里云服务器(.78)的用户名和密码。 
        (2)然后再通过ssh客户端连接至本机的11125端口,用户名和密码使用移动机房服务器(.242)上的用户名和密码;
            即相当于直连至移动机房的服务器了;
    2.使用secureCRT客户端创建隧道

  (1)在ssh2界面配置hostname和端口及用户名为阿里云服务器的信息;

       ssh客户端通过挖隧道方式直接在本机通过中转服务器,直接访问不能直达的服务器

(2)在Port Forwarding界面配置本机的端口及远程移动机房服务器的ip及端口
ssh客户端通过挖隧道方式直接在本机通过中转服务器,直接访问不能直达的服务器
(3)配置完成后,完成使用阿里云服务器的用户名和密码完成登录,这样隧道即创建成功,该页面不能关闭;

   ssh客户端通过挖隧道方式直接在本机通过中转服务器,直接访问不能直达的服务器

(4)继续创建一个新的连接至机器127.0.0.1端口11125的ssh连接,登录用户名和密码使用移动机房服务器的用户名和密码,即可登录成功,并且所有的操作均是对.242进行操作;
ssh客户端通过挖隧道方式直接在本机通过中转服务器,直接访问不能直达的服务器

(5)连接11125端口成功后,这时我们在阿里云(.78)的服务器上使用ss命令即可查看到对应的隧道信息:

ssh客户端通过挖隧道方式直接在本机通过中转服务器,直接访问不能直达的服务器