最新整理通过ssh反向连接内网主机的方法是什么.docx

上传人:b****5 文档编号:28828486 上传时间:2023-07-20 格式:DOCX 页数:7 大小:18.36KB
下载 相关 举报
最新整理通过ssh反向连接内网主机的方法是什么.docx_第1页
第1页 / 共7页
最新整理通过ssh反向连接内网主机的方法是什么.docx_第2页
第2页 / 共7页
最新整理通过ssh反向连接内网主机的方法是什么.docx_第3页
第3页 / 共7页
最新整理通过ssh反向连接内网主机的方法是什么.docx_第4页
第4页 / 共7页
最新整理通过ssh反向连接内网主机的方法是什么.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

最新整理通过ssh反向连接内网主机的方法是什么.docx

《最新整理通过ssh反向连接内网主机的方法是什么.docx》由会员分享,可在线阅读,更多相关《最新整理通过ssh反向连接内网主机的方法是什么.docx(7页珍藏版)》请在冰豆网上搜索。

最新整理通过ssh反向连接内网主机的方法是什么.docx

最新整理通过ssh反向连接内网主机的方法是什么

通过ssh反向连接内网主机的方法是什么

防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。

那么怎么.用ssh反向连接内网主机呢?

可能有点复杂,下面一起看看具体步骤!

具体步骤

一.用ssh反向连接内网主机

可以通过ssh反向连接到内网主机(有防火墙的主机)

好,下面是步骤:

0.在两侧都安装ssh

1.在被控端运行ssh-f-N-R10000:

localhost:

22username@主控端ip。

这里的10000和22是端口号,也就是说,在主控端10000端口和被控端的22端口上建立了一个通道。

2.在主控端运行sshusername@localhost-p10000。

这里的username是你被控端的username,10000就是刚才的那个端口号。

ok了。

二.SSH公钥(publickey)验证

也就是如何不用密码的SSH登录本讲解适用于Client/Server都使用OpenSSH的情况(商业版SSH的key文件格式有所不同,这里的方法直接使用是无效的)。

目标:

Client免输密码ssh登录Server

SSH支持多种登录验证方式,我们默认使用的是键盘交互方式(keyboard-interactive),也就是手工输入密码的那种。

这里我们要改成公钥(publickey)验证方式,并且设置

passphrase为空,以达到免输密码登录的目的。

1.Client端:

cd~/.ssh

#产生公钥文件(id_dsa.pub)和私钥文件(id_dsa),类型DSA,长度1024bits

#注意询问passphrase的时候直接回车

ssh-keygen-tdsa-b1024

#将公钥复制到远程主机去

scpid_dsa.pubServer:

~/.ssh/id_dsa.pub.Client2.Server端:

cd~/.ssh

#将Client的公钥放入Server的信任列表

catid_dsa.pub.Clientauthorized_keys

#更新权限,很重要

chmod0600*从此以后ClientSSH登录Server就不要手工输入密码了。

三.备注SSH常见术语及对应的解释

前提:

内网机器能访问外网机器,但是只有局域网IP

首先要设置信任关系。

然后在内网机器上运行脚本auto.sh(我这里设置时每小时运行一次,保持连接40分钟,如果不连接会自动断开)

#!

/bin/bash

ssh-R2222:

localhost:

22root@外网机器IPtouchlogin;sleep2400;touchlogout

需要登录内网机器时,使用如下命令即可

ssh-p2222root@localhost

最近想在家里登录公司的机器查看代码,期间碰到了一些问题,因为公司里的机器是没有对外IP的,而且请网管

做个端口映射也比较麻烦,所以在家里不能直接连接到公司的机器上。

在网上搜索了一下,找到了ssh反向连接这

个解决方法,成功解决了不能直接连接的问题,并对反向连接的实现感兴趣,按照自己的想法,写了一个简单的示

例。

SSH反向连接的使用

1、什么是反向连接?

反向连接是指主机A(受控端)主动连接主机B(控制端),在主机A和主机B之间建立一个远程连接,通过这个连

接主机B可以主动的向主机A发送一些请求。

2、为什么需要主机A主动去连接主机B呢?

这是因为主机A在局域网内,如果没有对主机A进行端口映射,对于主机B来说主机A是不可见的,如果在主机B这

边向主机A发送连接请求,这个请求是不可达的。

而主机B有自己独立的IP,对于主机A来说是可见的,可以直接向

主机B请求连接。

3、SSH反向连接的过程

方法就是主机A主动去连接主机B,主机B响应主机A的连接请求,它们之间就建立了一个远程连接。

然后主机B在

本地再创建一个本地连接,重定向到主机A和主机B刚才建立的远程连接上,之后对这个本地连接的操作都会反馈到

远程连接上去。

整个过程类似于文件的DUP,这就在主机A和主机B之间建立了连接通道,此时对于主机B来说,主

机A已经是可见了。

连接流程如下:

3.1、主机Assh客户端向主机Bsshd服务端发送请求,建立远程连接。

3.2、主机Bsshd服务端创建本地连接很远程连接的映射(反向连接通道)。

3.3、主机Bssh客户端向主机Bsshd服务端的连接通道发送请求,建立主机Bssh和主机Asshd的连接。

完成连接后,主机A对于主机B可见的形式就是存在于主机B的那个本地连接。

4、为什么需要在主机B对远程连接映射一个本地连接?

反向连接就是CS架构,不过是受控端主动向控制端请求连接,让它们之间的连接建立。

传统的CS方式是可以解决

主机A和主机B之间的连接问题,但是那样主机A和主机B的连接方式并不灵活,两者之间能做的事情,只能是CS之际

协议规定的事情。

在主机B上建立了主机A的连接映射后,对于主机B来说主机A已经不是局域网内那台不可见的主

机,主机A已经是存在主机B的一台可见主机,这样就消除了局域网和广域网的阻碍。

主机A和主机B之间建立的那

个远程连接就是主机A和主机B的通道-网线。

5、SSH反向连接的使用

要建立反向连接,首先在主机A上运行:

代码:

ssh-f-N-R10000:

localhost:

22lyb@

10000是主机B上的本地连接端口,22是主机B上远程连接的那个端口,lyb@是主机B的地址

连接上后,会需要输入密码。

连接成功后,SSH反向连接就建立起来了。

要连接到主机A,在主机B上运行:

代码:

sshlyb@localhost-p10000

即可。

-

内网主机A(192.168.1.1)外网主机B(100.100.100.100)

正常情况可以从内网主机A通过ssh连接到外网主机B

#sshusername@100.100.100.100

现在需要通过外网主机B连接内网主机A

原理:

利用ssh自身功能,建立主机B到主机A的连接通道。

操作:

1.在主机A上建立通道

ssh-NfR2222:

localhost:

22httpd@100.100.100.100-p22

注释:

-Nf命令在后台运行

-R建立反向通道

2222在主机B上建立端口映射

localhost:

22将主机B端口2222映射到主机A端口22上

httpd@100.100.100.100远程登录主机B用户名及IP

-p22主机Bssh登录端口

执行后可以查看进程

psaxu|grepssh

ssh-NfR2222:

localhost:

22httpd@100.100.100.100

2.登录主机B

查看已经建立好的映射端口

netstat-antp

tcp00127.0.0.1:

22220.0.0.0:

*LISTEN-

登录内网主机A

ssh-p2222httpd@localhost

注释:

-p2222已建立到内网主机A的映射端口

httpd内网主机A的ssh登录用户

@localhost可以看到映射端口只监听到127.0.0.1上

执行命令后显示登录成功,则大功告成

PS:

1.如果用key登录则无须输入密码

2.如果报错:

Permissiondenied(publickey,gssapi-with-mic).

key不对或者key用户不对。

使用的过程中碰到一个问题,就是在主机A上发起请求的时候,需要输入密码。

如果我在家里,不可能跑到公

司了去输入密码。

于是用sshpublickey的方法和写一个脚本来解决。

脚本如下:

复制代码代码如下:

#!

/bin/bash

whiletrue;do

RET=`psax|grepssh-f-N-R10000:

localhost:

22|grep-vgrep`

if[$RET=];then

echorestartsshserver

ssh-f-N-R10000:

localhost:

22fi

sleep10

done

补充阅读:

防火墙主要使用技巧

一、所有的防火墙文件规则必须更改。

尽管这种方法听起来很容易,但是由于防火墙没有内置的变动管理流程,因此文件更改对于许多企业来说都不是最佳的实践方法。

如果防火墙管理员因为突发情况或者一些其他形式的业务中断做出更改,那么他撞到枪口上的可能性就会比较大。

但是如果这种更改抵消了之前的协议更改,会导致宕机吗?

这是一个相当高发的状况。

防火墙管理产品的中央控制台能全面可视所有的防火墙规则基础,因此团队的所有成员都必须达成共识,观察谁进行了何种更改。

这样就能及时发现并修理故障,让整个协议管理更加简单和高效。

二、以最小的权限安装所有的访问规则。

另一个常见的安全问题是权限过度的规则设置。

防火墙规则是由三个域构成的:

即源(IP地址),目的地(网络/子网络)和服务(应用软件或者其他目的地)。

为了确保每个用户都有足够的端口来访问他们所需的系统,常用方法是在一个或者更多域内指定打来那个的目标对象。

当你出于业务持续性的需要允许大范围的IP地址来访问大型企业的网络,这些规则就会变得权限过度释放,因此就会增加不安全因素。

服务域的规则是开放65535个TCP端口的ANY。

防火墙管理员真的就意味着为黑客开放了65535个攻击矢量?

三、根据法规协议和更改需求来校验每项防火墙的更改。

在防火墙操作中,日常工作都是以寻找问题,修正问题和安装新系统为中心的。

在安装最新防火墙规则来解决问题,应用新产品和业务部门的过程中,我们经常会遗忘防火墙也是企业安全协议的物理执行者。

每项规则都应该重新审核来确保它能符合安全协议和任何法规协议的内容和精神,而不仅是一篇法律条文。

四、当服务过期后从防火墙规则中删除无用的规则。

规则膨胀是防火墙经常会出现的安全问题,因为多数运作团队都没有删除规则的流程。

业务部门擅长让你知道他们了解这些新规则,却从来不会让防火墙团队知道他们不再使用某些服务了。

了解退役的服务器和网络以及应用软件更新周期对于达成规则共识是个好的开始。

运行无用规则的报表是另外一步。

黑客喜欢从来不删除规则的防火墙团队。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1