赞
踩
本机wind11:localhost
服务器A:192.168.1.160
服务器B:192.168.1.188(有一个使用6381端口运行的redis服务)
本机wind11可以正常通过ssh访问服务器A
服务器A可以正常ssh访问服务器B
期待在本机wind11上通过访问服务器A来连接服务器B的redis服务
源主机:localhost
侦听的端口:随便填一个不用的即可
目标主机:服务器B的地址
目标端口:redis运行端口
1.sshd_config里要打开AllowTcpForwarding选项,否则-R远程端口转发会失败。
2.默认转发到远程主机上的端口绑定的是127.0.0.1,如要绑定0.0.0.0需要打开sshd_config里的GatewayPorts选项。这个选项如果由于权限没法打开也有办法,可配合ssh -L将端口绑定到0.0.0.0
[root@localhost bin]# vim /etc/ssh/sshd_config
#重启ssh
[root@localhost bin]# systemctl restart sshd
[root@localhost bin]# systemctl status sshd
-f 后台执行ssh指令
-C 允许压缩数据
-N 不执行远程指令
-R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
-L 本地端口转发
-D 动态端口转发
ssh -NL [端口]:[目标IP]:[目标端口] [跳板机用户名]@[跳板机IP]
ssh -NL 3333:192.168.1.188:6381 root@127.0.0.1
# 访问 127.0.0.1:3333 -> 192.168.1.188:6381
本地转发是将 目标ip:目标端口 映射到 127.0.0.1:端口
即: 访问127.0.0.1:端口等于访问目标ip:目标端口
ssh -NR [端口]:[目标IP]:[目标端口] [跳板机用户名]@[跳板机IP]
ssh -NR 3333:192.168.1.188:6381 root@192.168.1.160
# 访问 192.168.1.160:3333 -> 192.168.1.188:6381
远端转发是将 目标ip:目标端口 映射到 跳板机的ip:端口
即: 访问跳板机的ip:端口等于访问 目标ip:目标端口
ssh -ND [本地socke代理端口] [跳板机用户名]@[跳板机IP]
ssh -ND 3333 root@192.168.1.160
在浏览器或系统设置中将socke代理改成本地 192.168.1.160:3333
然后本地所有的上网出口全部通过192.168.1.160进行转发。百度ip会发现本机ip是192.168.1.160
动态端口转发则只是绑定了一个本地端口,而目标地址:目标端口则是不固定的
目标地址:目标端口是由本地发起的请求决定的
比如访问baidu.com 则相当于把这个请求首先发送到了192.168.1.160,然后由192.168.1.160进行访问后将数据转发回至本地
即: 访问百度流程变成 本地 -> 192.168.1.160 -> 百度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。