SSH Tunnel

news/发布时间2024/5/14 17:59:45

本地转发

ssh USER@HOST -CNfL 80:localhost:8080

此时访问本地主机的 80 端口将会被转发到远程主机 HOST 的 localhost:8080 端口。

  • -L: 本地转发
  • -C: 此标志启用压缩,有助于减少资源消耗并加快速度。
  • -N: 不发送任何命令,只用来建立连接。
  • -f: 将 SSH 连接放到后台。避免长时间不用 SSH 连接时终端失去响应

可以通过 ps 命令找到 ssh 进程并通过 kill 命令来关闭隧道。

配置文件

可以通过配置文件来简化隧道的建立。编辑 ~/.ssh/config

Host local-forwardHostName example.comUser my_userIdentityFile ~/.ssh/my_private_keyLocalForward 80 localhost:8080Compression yesServerAliveInterval 60ServerAliveCountMax 2
  • Host local-forward:这是这个连接配置的别名,用在ssh命令中作为目标主机的参数。
  • HostName example.com:实际主机名或 IP 地址。
  • User my_user:远程服务器的用户名。
  • IdentityFile ~/.ssh/my_private_key:用于身份验证的私钥文件路径。
  • LocalForward 80 localhost:8080:这是隧道配置的关键部分。它会将本地机器上的 80 端口转发到远程机器上的 8080 端口。当你在本地机器上访问 localhost 的 80 端口时,实际上是通过 SSH 隧道访问远程机器上的 8080 端口。
  • Compression yes: 启用数据压缩。
  • ServerAliveInterval 60:每 60 秒向服务器发送一次保活消息。
  • ServerAliveCountMax 2:在认定服务器不响应之前,允许发送保活消息的最大次数。

远程转发

ssh USER@HOST -R 80:localhost:8080

此时访问远程主机 HOST 的 80 端口会被转发到本地主机的 localhost:8080 端口。

配置文件

Host reverse-forwardHostName example.comUser my_userRemoteForward 80 localhost:8080
  • RemoteForward 80 localhost:8080:配置远程端口转发。这条命令的意思是将远程服务器的 80 端口转发到本机的 localhost:8080 端口。访问远程服务器的 80 端口就像访问本地的 localhost:80 端口一样。

这个配置意味着,当你连接到 remote-forward 这个配置指定的主机时,SSH 会自动设置一个远程端口转发,把远程主机的 80 端口映射到本机的 8080 端口。

动态转发

ssh USER@HOST -D 7890

此时如果在应用程序中配置代理服务器为 socks5://HOST:7890,则所有请求都将被发送到远程主机的 7890 端口进行代理。

配置文件

   Host dynamic-forwardHostName example.comUser my_userDynamicForward 7890
  • DynamicForward 1080: 启用动态端口转发,并绑定本地的 1080 端口。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/48512455.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

图文并茂手把手教你MAC运行.net项目(Visual Studio 配置c# .net环境 运行solution)

下载Visual Studio 点击这里直达官网安装Visual Studio开启项目(如果你有现成的项目) 如果没有现成的项目,可以参考下一个步骤进行测试哦 选择.sln点击键盘F5,启动项目 观察Application Output, 项目启动成功结语今天就写到这里啦~ 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ…

重生之我在男航学Java-1

一、前言第一次题目集主要是让我们熟悉对类的使用和对单一职责的理解,由于给出了设计建议,并且内部给出了具体的设计分析,第一次PTA的题量大但是难度并不是很大,虽然老师说了可以使用正则表达式,但我由于自身的懒惰附加c语言面向过程的思想根深蒂固,我在第一次PTA中并未使…

python 爬虫

python 爬虫 1.开发工具 pycharm: https://pan.baidu.com/s/1s_bkgDT0QxNTQY07LnQRWQ?pwd=2dlb提取码:2dlb python3 VSCode 2.第一个爬虫的开发from urllib.request import urlopenurl = "http://www.baidu.com"resp = urlopen(url) #print(resp.read().decode(&q…

项目冲刺

项目冲刺汇总 第一天 第二天 会议图片第三天 会议图片第四天 会议图片第五天 会议图片第六天 会议图片第七天 会议图片燃尽图

解决 Win11 微软拼音输入法下 JetBrains IDE Shift+F6 失效的问题

如果你使用 Win11 系统下的微软拼音输入法,同时又在使用 JetBrains 系列的 IDE,你可能会发现 "Refactor -> Rename..." 功能对应的默认快捷键 Shift+F6 按了之后没有反应,但通过菜单执行这个操作是正常的。这个问题目前基本可以确定是微软拼音输入法引起的。 目…