您的位置:首页 > 其它

ssh的相关实验

2017-07-24 21:50 302 查看
author:JevonWei

版权声明:原创作品

跨主机ssh连接

主机A想连接主机C,但是主机C防火墙等原因禁止主机A连接,而主机A可以连接主机B,主机B也可连接主机C,即主机A就可通过主机B做跳板从而达到连接主机c的目的

主机A:192.168.198.100
主机B:192.168.198.130
主机C:192.168.198.200

ssh -t 192.168.198.130 ssh 192.168.198.200    主机A通过连接主机B从而获得一个伪终端进而ssh连接主机C

SSH端口转发(telnet协议)

主机A想通过telnet不安全的协议连接到C主机,但是主机C的防火墙阻挡连接,故可通过主机B的ssh端口转发将不安全协议封装到ssh安全协议中,然后主机B再将ssh封装的主机A的不安全协议进行解密然后在传输给主机C

主机A   192.168.198.134
主机B   192.168.198.128
主机C   192.168.198.136

在主机A上开放隧道端口

主机C因为防火墙等因素阻止主机A的连接,但C允许主机B连接

iptables -A INPUT -s 192.168.198.134 -j REJECT

主机A上建立SSH的端口转发到主机B的数据隧道

主机A

ssh -L 5896:192.168.198.136:23 -Nf 192.168.198.128 \ -L 指定在本机操作,5896端口为主机A打开的端口,-N不开启远程shell窗口,-f后台执行,指定192.168.198.136:23指定需要连接的主机C的IP及端口号,192.168.198.131指定SSH实现端口转发的主机B,然后键入主机B的口令






主机A
ss -nt    \\ 查看主机B上已显示主机A的连接






主机A
ss -ntl   \\ 查看主机A的5896端口是否打开






主机A
telnet 127.0.0.1 5896  主机A连接开放的5896端口,即可通过主机B连通主机C






主机C
ss -nl   \\ 检测主机C的网络连接,即主机B连接建立的连接






在主机B上开放隧道端口,A主机访问主机C

主机B:
ssh -R 5896:192.168.198.136:23 -Nf 192.168.198.134
主机A:
ss -ntl | grep 5896   \\ 检测5895端口是否打开
telnet 127.0.0.1 5896






主机C
ss -nt   \\ 检测到的其实是主机B 192.168.198.128的主机的连接






SSH端口动态转发(实现web访问)

主机A通过主机B的1080端口访问主机C

主机A   192.168.198.134
主机B   192.168.198.128
主机C   192.168.198.136


主机C因为防火墙等因素阻止主机A的连接,但C允许主机B连接

iptables -A INPUT -s 192.168.198.134 -j REJECT

主机A开启动态端口转发

ssh -D 5896 192.168.198.128 \ 主机A开启一个5896的端口连接主机B 192.168.198.128

ss -ntl | grep 5896 \ 检测5896端口是否打开







使用主机A的浏览器配置端口代理







SOCKS Host 输入的为本机的IP和开放的动态端口号5896




主机A使用crul字符浏览器访问主机C的web服务

curl 192.168.198.136







主机B

ss -nt 查看网络连接,主机A192.168.198.134已成为ssh的客户端







主机C查看/var/log/httpd/access_log日志文件可知主机A是通过主机B连接到web服务的

cat /var/log/httpd/access_log






SSH的相关内容

http://www.cnblogs.com/JevonWei/p/7231348.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: