随风逐叶 随风逐叶
首页
  • Quick Reference (opens new window)
  • EgretEngine开发者文档 (opens new window)
  • TinaX框架
  • SSH教程
  • VSCode插件开发
关于
  • 分类
  • 标签
  • 归档

rontian

从事游戏开发10多年的老菜鸟一枚!
首页
  • Quick Reference (opens new window)
  • EgretEngine开发者文档 (opens new window)
  • TinaX框架
  • SSH教程
  • VSCode插件开发
关于
  • 分类
  • 标签
  • 归档
  • SSH教程
  • SSH基础知识

  • SSH客户端

  • SSH 密钥登录

  • SSH 服务器

  • SSH 端口转发

    • SSH 端口转发
    • 简介
    • 动态转发
    • 本地转发
    • 远程转发
    • 实例
    • 简易VPN
    • 两极跳板
    • 参考链接
  • SSH 证书登录

  • scp 命令

  • rsync 命令

  • sftp 命令

远程转发

# 远程转发

远程端口指的是在远程 SSH 服务器建立的转发规则。

这种场景比较特殊,主要针对内网的情况。本地计算机在外网,SSH 跳板机和目标服务器都在内网,而且本地计算机无法访问内网之中的 SSH 跳板机,但是 SSH 跳板机可以访问本机计算机。

由于本机无法访问内网 SSH 跳板机,就无法从外网发起 SSH 隧道,建立端口转发。必须反过来,从 SSH 跳板机发起隧道,建立端口转发,这时就形成了远程端口转发。

$ ssh -R local-port:target-host:target-port -N local
1

上面的命令,首先需要注意,不是在本机执行的,而是在 SSH 跳板机执行的,从跳板机去连接本地计算机。-R参数表示远程端口转发,local-port是本地计算机的端口,target-host和target-port是目标服务器及其端口,local是本地计算机。

显然,远程端口转发要求本地计算机也安装了 SSH 服务器,这样才能接受 SSH 跳板机的远程登录。

比如,跳板机执行下面的命令,绑定本地计算机的2121端口,去访问www.example.com:80。

$ ssh -R 2121:www.example.com:80 local -N
1

执行上面的命令以后,跳板机到本地计算机的隧道已经建立了。然后,就可以从本机访问目标服务器了,即在本机执行下面的命令。

$ curl http://localhost:2121
1

执行上面的命令以后,命令就会输出服务器www.example.com的80端口返回的内容。

如果经常执行远程端口转发,可以将设置写入 SSH 客户端的用户个人配置文件(~/.ssh/config)。

Host test.example.com
RemoteForward local-IP:local-port target-ip:target-port
1
2
上次更新: 2023/10/17, 16:39:02 访问次数: 0
本地转发
实例

← 本地转发 实例→

最近更新
01
一些Shell常用的功能写法整理
10-20
02
删除git仓库submodule的步骤
10-20
03
django基本命令
10-16
更多文章>
Copyright © 2017-2025 随风逐叶
沪ICP备18008791号-1 | 沪公网安备31011502401077号

网站访问总次数: 0次
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式