当前位置:   article > 正文

ssh端口转发_xshell里127.0.0.1:6379>变成[root@localhost bin]#

xshell里127.0.0.1:6379>变成[root@localhost bin]#

借助xshell

环境

本机wind11:localhost
服务器A:192.168.1.160
服务器B:192.168.1.188(有一个使用6381端口运行的redis服务)
本机wind11可以正常通过ssh访问服务器A
服务器A可以正常ssh访问服务器B
期待在本机wind11上通过访问服务器A来连接服务器B的redis服务
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

使用xshell正常访问服务器A

在这里插入图片描述

连接状态下修改配置

在这里插入图片描述

添加隧道

源主机:localhost
侦听的端口:随便填一个不用的即可
目标主机:服务器B的地址
目标端口:redis运行端口
在这里插入图片描述

以上步骤就完成了接触xshell做ssh端口转发,其他端口同理

在这里插入图片描述

自己配置

修改ssd_config配置

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 
  • 1

在这里插入图片描述

#重启ssh
[root@localhost bin]# systemctl restart sshd
[root@localhost bin]# systemctl status sshd
  • 1
  • 2
  • 3

启动自定义隧道三种方式

-f 后台执行ssh指令
-C 允许压缩数据
-N 不执行远程指令
-R 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口
-L 本地端口转发
-D 动态端口转发
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

本地转发

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
  • 1
  • 2
  • 3

本地转发是将 目标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
  • 1
  • 2
  • 3

远端转发是将 目标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
  • 1
  • 2
  • 3
  • 4
  • 5

动态端口转发则只是绑定了一个本地端口,而目标地址:目标端口则是不固定的
目标地址:目标端口是由本地发起的请求决定的
比如访问baidu.com 则相当于把这个请求首先发送到了192.168.1.160,然后由192.168.1.160进行访问后将数据转发回至本地
即: 访问百度流程变成 本地 -> 192.168.1.160 -> 百度

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/148714
推荐阅读
相关标签
  

闽ICP备14008679号