ssh的高级应用本地端口转发

Posted 王华_linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh的高级应用本地端口转发相关的知识,希望对你有一定的参考价值。

1. SSH 本地端口转发

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

SSH 端口转发能够提供两大功能:

加密 SSH Client 端至 SSH Server 端之间的通讯数据

 突破防火墙的限制完成一些之前无法建立的 TCP 连接

SSH本地端口转发

ssh -L localport:remotehost:remotehostport  sshserver



选项:

-f 后台启用

-N 不打开远程shell,处于等待状态

-g 启用网关功能

#当访问本机的9527的端口时,被加密后转发到sshsrv的ssh服务,再解密被转发到telnetsrv:23 #data<-->localhost:9527 <-->localhost:XXXXX<-->sshsrv:22<-->sshsrv:YYYYY<-- >telnetsrv:23

ssh –L 9527:telnetsrv:23 -Nfg sshsrv

telnet 127.0.0.1 9527




ssh的高级应用本地端口转发_firefox

[root@centos8 ~]#ssh -fNL 9527:10.0.0.28:80 10.0.0.18 
[root@centos8 ~]#curl 127.0.0.1:9527





2. SSH 远程端口转发

ssh -R sshserverport:remotehost:remotehostport  sshserver


#让sshsrv侦听9527端口的访问,如有访问,就加密后通过ssh服务转发请求到本机ssh客户端,再由本机解密后转发到telnetsrv:23

#Data<-->sshsrv:9527<-->sshsrv:22<-->localhost:XXXXX<-->localhost:YYYYY<-- >telnetsrv:23

ssh –R 9527:telnetsrv:23 –Nf sshsrv

远程端口转发并实现网关功能

ssh的高级应用本地端口转发_端口转发_02

[root@lan-server ~]#yum -y install httpd;systemctl start httpd;echo website On 10.0.0.28 > /var/www/html/index.html

root@ssh-server ~]#vim /etc/ssh/sshd_config

GatewayPorts yes

root@ssh-server ~]#systemctl restart sshd

[root@ssh-client ~]#ssh -fNgR 9527:10.0.0.28:80 10.0.0.8 root@10.0.0.8s password:

[root@centos6 ~]#curl 10.0.0.8:9527

website On 10.0.0.28

[root@centos7 ~]#curl 10.0.0.8:9527

website On 10.0.0.28


3.  SSH动态端口转发

ssh的高级应用本地端口转发_centos_03

#当用firefox访问internet时,本机的1080端口做为代理服务器,firefox的访问请求被转发到sshserver上,由sshserver替之访问internet

ssh -D 1080 root@sshserver -fNg

#在本机firefox设置代理socket proxy:127.0.0.1:1080

curl --socks5 127.0.0.1:1080 http://www.google.com


动态端口转发实现科学上网方式1

ssh的高级应用本地端口转发_端口转发_04

[root@centos8 ~]#ssh -fND 9527 10.0.0.18



以上是关于ssh的高级应用本地端口转发的主要内容,如果未能解决你的问题,请参考以下文章

ssh本地端口转发

SSH端口转发

SSH端口转发

ssh动态端口转发

SSH 内网端口转发实战

SSH 本地端口转发