满堂花醉三千客,一剑霜寒十四州。这篇文章主要讲述ssh的高级应用本地端口转发相关的知识,希望能为你提供帮助。
1. SSH 本地端口转发SSH 会自动加密和解密所有
SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他
TCP 端口的网络数据通过
SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为
SSH 为其他
TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些
TCP 应用均能够从中得益,避免了用户名,密M以及隐私信息的明文传输。而与此同时,如果工作环境中的防火墙限制了一些网络端口的使用,但是允许
SSH 的连接,也能够通过将
TCP 端口转发来使用
SSH 进行通讯
SSH 端口转发能够提供两大功能:
【ssh的高级应用本地端口转发】加密
SSH Client 端至
SSH Server 端之间的通讯数据
突破防火墙的限制完成一些之前无法建立的 TCP
连接
SSH本地端口转发
ssh -L localport:remotehost:remotehostportsshserver
选项:
-f 后台启用
-N 不打开远程shell,处于等待状态
-g 启用网关功能
#当访问本机的9527的端口时,被加密后转发到sshsrv的ssh服务,再解密被转发到telnetsrv:23 #data< --> localhost:9527 < --> localhost:XXXXX< --> sshsrv:22< --> sshsrv:YYYYY< -- > telnetsrv:23
ssh –L9527:telnetsrv:23 -Nfgsshsrv
telnet 127.0.0.1 9527
[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:remotehostportsshserver
#让sshsrv侦听9527端口的访问,如有访问,就加密后通过ssh服务转发请求到本机ssh客户端,再由本机解密后转发到telnetsrv:23
#Data< --> sshsrv:9527< --> sshsrv:22< --> localhost:XXXXX< --> localhost:YYYYY< -- > telnetsrv:23
ssh –R 9527:telnetsrv:23 –Nf sshsrv
远程端口转发并实现网关功能
?
[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动态端口转发
#当用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
[root@centos8 ~]#ssh -fND 9527 10.0.0.18
推荐阅读
- #私藏项目实操分享# Spring专题「开发实战」Spring Security与JWT实现权限管控以及登录认证指南
- AI新手语音入门(认识词错率WER与字错率CER)
- Doc常用命令-dir
- 设计一个安全对外的API接口,需要考虑哪些方面()
- AWK
- LINUX通过apt安装jna
- Linux 5.16-rc7正式发布 圣诞假期令其改进较小
- kubernetes-downwardAPI简介与实践(12)
- 面试官,欺负人(new Object()到底占用几个字节())