ssh端口转发小结

?

关于ssh端口

?

???? SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是, SSH 还能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”,这是因为SSH为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名, 密码以及隐私信息的明文传输。而与此同时,如果工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,也能够通过将 TCP 端口转发来使用 SSH 进行通讯

?

ssh端口转发的两大功能

?

两大功能:

  • 加密 SSH Client 端至 SSH Server 端之间的通讯数据
  • 突破防火墙的限制完成一些之前无法建立的 TCP 连接

?

ssh端口转发的三种方式

?

  • ssh端口本地转发
  • ssh端口远程转发
  • ssh端口动态转发
    ?
    1.本地转发
    ?
    ???格式:ssh -L localport:remotehost:remotehostport sshserver
    ??????localport : 本地开启的端口号
    ??????remotehost : 远程要连接的IP
    ??????remotehostport : 转发机的端口号
    ??????sshserver : 转发机的IP
    ?
    ???选项:
    ??????-f 后台启用
    ??????-N 不打开远程shell,处于等待状态(不加-N则直接登录进去)
    ??????-g 启用网关功能
    ??????-L 启动本地端口转发
    ??????-D 动态转发
    ?
    实验一:ssh的本地转发实现
    ??前提:C服务端,B跳板机,A客户端,C的23端口只有B才能访问,其他拒绝访问,A和B可以通过ssh互相访问

    ??如图所示:A的数据一旦telnet以后,数据会发送到本机9527端口,再在本机开一个随机端口,充当ssh客户端,再把数据流量发送到22端口的ssh服务端,收到数据以后,解密数据,临时开一个随机端口充当客户端,再把流量发送到23端口telnet服务端
    ??实验的流程:
    ????A->C 访问被限制
    ????A-B->C 使用B主机作为跳板突破访问限制
    ??操作如下:
    ??首先在C服务器上开启23端口,添加策略
    iptables -F
    iptables -A INPUT -s B -p tcp  - -dport 23 -j ACCEPT
    iptables -A INPUT -p tcp --dport 23 -j REJECT

    ??这个时候A和C是不通的,连接拒绝,然后回到A上做本地转发

    ssh -L 9527:A:23 -fN B

    ??现在A可以通过telnet利用9527端口与C进行访问

    telnet 127.0.0.1 9527

    ?
    2.远程转发
    ?
    ???格式:-R sshserverport:remotehost:remotehostport sshserver
    ??????sshserverport 被转发机器开启的端口号
    ??????remotehost 最终连接机器的IP地址
    ??????remotehostport 被转发机器的端口号
    ??????sshserver 被转发机器的IP地址
    实验二:ssh的远程转发
    前提:让ssh service侦听9527端口的访问,如有访问,就加密后通过ssh服务转发请求到A,再由本机解密后转发到telnet service:23
    ??实验的流程:
    ????C->A (拒绝访问)
    ????C-B->A (通过远程代理,接受访问)
    操作如下:
    首先C开启邮件服务

    systemctl restart postfix 

    然后在ssh service 上打开隧道

    ssh -R 9527:C:25 -fN A

    最后在A上给C发邮件

    telnet 127.0.0.1 9527
    mail from:[email protected]
    rctp to:[email protected]

    3.动态转发
    ?
    ???格式:ssh -D port [email protected]
    ??????port :代理服务器开启的代理端口
    ??????ssherver : 远程的代理服务器地址
    ?

    ?
    实验三:ssh的动态转发
    前提:在企业内部或者网络中,基于安全策略不能随便访问互联网某些站点,当用A访问C时,本机的代理端口做为代理服务器,A的访问请求被转发到代理服务器上,由代理服务器替之访问C
    实验的流程:
    ????A -> C (拒绝访问)
    ????A-B -> C (通过远程代理,接受访问)
    操作如下:
    首先C上添加策略,A拒绝访问,只有B可以

    iptables -A INPUT -s A -j REJECT

    然后再B上输入如下代码,开启代理

    ssh -fND 1080 [email protected]

    在A的里验证是否可以访问

    curl --socks5 127.0.0.1 C   #默认端口就是1080

    基于网页验证,打开浏览器的设置,选择代理设置,添加代理,在套接字一栏中填入
    ?

    ?

当本地1080端口受到外部网站请求会转发到外部服务器上面去,代理服务器通过1080端口把请求转发到站点服务器上面去此时方可正常访问外部站点

原文地址:http://blog.51cto.com/13805636/2171085

时间: 2024-11-12 07:25:25

ssh端口转发小结的相关文章

ssh 端口转发实现外网 80 端口映射到内网 80 端口

开发中经常需要外网服务映射到本机内网服务的需要,便于调试. 以前都是同事帮着配,这两天自己也看了一下 ssh 端口转发. 同事分分钟钟搞定的事情,自己折腾了 2 天, 真是弱爆了. 最初老想不明白一件事,为什们外网服务器能够找到我的内网机器,现在才明白原来走的是 ssh 隧道. 需求我的内网机器  192.168.9.100, 我的阿里云外网 123.56.86.52,  现在需要所有对 123.56.86.52  80 端口的访问都映射到  192.168.9.100 的 80 端口. 显然 

ssh端口转发,先转载,最后自用心得

SSH端口转发分为两种,一种是本地端口转发,又称为本地SSH隧道.一直是远程端口转发.SSH端口转发,还必须指定数据传送的目标主机,从而形成点对点的端口转发. 本地端口转发 假定有三台主机A.B.C.由于种种原因(无论是防火墙还是路由原因),AC两台主机之间无法连通.但是B却可以和A.C连通.这时候就可以用本地端口转发来实现A和C通过B来连通. A  192.168.7.27 B  192.168.6.19 C  192.168.30.68 6网段和7网段.30网段都相通,但是7网段和30网段不

实战 SSH 端口转发

原文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业信息.同时也能够用此技术解决工作中一些常见问题,例如解决防火墙及网络应用本身带来的一些限制. 第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你

SSH 端口转发

SSH 端口转发功能能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务.其实这一技术就是我们常常听说的隧道(tunnel)技术,原因是 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输.我们知道,FTP 协议是以明文来传递数据的.但是我们可以让 FTP 客户端和服务器通过 SSH 隧道传输数据,从而实现安全的 FTP 数据传输.更常见的情况是我们的应用经常被各种防火墙限制.常见的有禁止访问某些网站.禁用某类软件,同时你的所有网络行为都被监控并

ssh端口转发--开启多个加密通道

  一.ssh端口转发连接数据库 今天发现了一个好玩的功能,让ssh服务监听2个端口,并且使用ssh端口转发用这两个端口登录远程的rac数据库.以前都是让ssh服务监听一个端口并且开一个端口转发,没想到可以监听多个端口. 为什么要这样呢?集团的vpn登录一直都限制1521端口.限制外网的22端口,所以如果在家用这个接入平台的话,就只能将服务器的ssh端口换一个,这个规则很讨厌,每次我都是登录到vcenter上修改服务器的ssh端口,例如改成222.但公司内部不限制22端口,每次到公司,我再把这个

ssh 端口转发脚本

一.脚本功能 ssh动态转发远端至本地端口 二.脚本配置 USERNAME 用户 HOSTNAME 你自己主机的ip或域名 PORT   可以自定义端口 脚本默认为9000 三.脚本 proxy.sh #!/bin/bash #author firxiao #ssh 端口转发 HOSTNAME=XXXX    #主机名或ip USERNAME=XXXX    #用户名 PORT=9000        #本地监听端口 pid=`ps ax | grep -i [email protected]$

SSH端口转发的理解(精华)

之前一直在纠结什么是端口转发,现在写下自己的理解,并试验本地端口,远程端口转发 SSH(Secure Shell,安全外壳协议),在SSH的通道上传输数据都是通过加密的,每次连接SSH会执行指纹核对来确认用户连接到正确的远程主机上,如果在其它协议的数据通过SSH端口进行转发,SSH连接作为其它协议传输的通道(隧道),这种方式也叫做SSH端口转发或SSH隧道. 作用:加密数据传输.突破防火墙限制 分类:本地转发.远程转发.动态转发 一.本地端口转发 本地转发中的本地是指将本地的某个端口转发到其他主

SSH 端口转发实战

第一部分 概述 场景一: 设想这样一个场景,当你挤了很久的公交,又辗转了几班地铁,终于拖着疲惫的身躯回到家中的时候,突然间接到了领导的电话,公司服务器上有某个重要的服务需要立马被关闭,而公司的内部网络与外部网络之间有防火墙,禁止telnet远程直接链接,这时你会怎么办呢?(吐槽一下,运维好苦逼/(ㄒoㄒ)/~~) 场景二:  设想另外一种场景,在本地的一个服务器上运行着SMTP服务,而远程的一个主机需要访问这个SMTP服务,但是防火墙不允许不信任的外部访问,进入到局域网内部,而内部的主机却是可以

【转】实战 SSH 端口转发

本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业信息.同时也能够用此技术解决工作中一些常见问题,例如解决防火墙及网络应用本身带来的一些限制. 第一部分 概述 当你在咖啡馆享受免费