Linux下外网远程内网:autossh

1、两台机器生成密钥文件

    [root@node1 10:18:06~]#ssh-keygen   #直接按 回车键

    [root@zabbix 10:19:14~]#ssh-keygen   #直接按 回车键

2、发送密钥文件:把查看到的内容   cat /root/.ssh/id_rsa.pub   复制粘贴到  vim   /root/.ssh/authorized_keys  文件的最末尾

      或者:echo 密钥内容 >>  /root/.ssh/authorized_keys

3、重启sshd服务

4、安装软件:yum -y install autossh

    或者:进入网站:https://fossies.org/linux/privat/  找到autossh下载,然后编译安装

    

cilib-2.0.1.tar.gz (19 Mar 14:38, 88908 Bytes)

CILib is a library of computational intelligence algorithms (written in Scala).

autossh-1.4f.tgz (20 Mar 17:01, 67128 Bytes)

autossh automatically restarts SSH sessions and tunnels.

Time-HiRes-1.9758.tar.gz (21 Mar 21:48, 112920 Bytes)

Time-HiRes - high resolution time, sleep, and alarm (Perl module).

 

5、内网机器:[root@node1 10:18:06~]#autossh -M 1414 -NfR 14:localhost:22 root@12.20.10.11 -p 22

   说明:-M参数,这个参数的意思就是用本机的1414端口来监听ssh,每当他断了就重新把他连起来。。。不过man文档中也说了,这个端口又叫echo port,他其实是有一对端口的形式出现,第二个端口就是这个端口号加一,也就是1515。因此我们要保证这个端口号和这个端口号加一的端口号不被占用。(来源于:https://www.jb51.net/article/112524.htm

             -f:后台执行

           -N:做端口转发

            -R:做反向ssh

           14:localhost:22    14是把内网的端口映射到 外网的服务器上,localhost:内网主机IP,22:是内网ssh的端口

            root@12.20.10.11   -p   22        root: 外网用户    @12.20.10.11 : 外网主机     -p   22   : 外网ssh端口

6、在内网查看:[root@node1 10:18:06~]# netstat -untpl | grep -E  "1414|1415"   是否有相应的端口

7、在外网查看: [root@zabbix 10:19:14~]# netstat -untpl | grep  14   是否有相应的端口

8、在外网服务器上: [root@zabbix 10:19:14~]# ssh root@127.0.0.1 -p 14  这样就可以直接远程到内网服务器上了

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值