返回顶部
首页 > 资讯 > 精选 >怎么设置SSH 隧道
  • 252
分享到

怎么设置SSH 隧道

2023-06-05 16:06:28 252人浏览 薄情痞子
摘要

本篇内容主要讲解“怎么设置ssh 隧道”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么设置SSH 隧道”吧!SSH 端口转发有三种类型:SSH转发对于传输使用未加密协议(如VNC或FTP),访

本篇内容主要讲解“怎么设置ssh 隧道”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么设置SSH 隧道”吧!


SSH 端口转发有三种类型:SSH转发对于传输使用未加密协议(如VNC或FTP),访问地理限制内容或绕过中间防火墙的服务的网络数据非常有用。 基本上,您可以转发任何tcp端口并通过安全的SSH连接隧道传输流量。

本地端口转发。 - 将连接从客户端主机转发到 SSH 服务器主机,然后转发到目标主机端口。
远程端口转发。 - 将端口从服务器主机转发到客户端主机,然后转发到目标主机端口。
动态端口转发。 - 创建 SOCKS 代理服务器,允许跨一系列端口进行通信。
在本文中,我们将讨论如何设置本地,远程和动态加密的 SSH 隧道。

本地端口转发

本地端口转发允许您将本地 (ssh 客户端)计算机上的端口转发到远程 (ssh 服务器)计算机上的端口,然后将其转发到目标计算机上的端口。

在这种类型的转发中, SSH 客户端侦听给定端口,并将与该端口的任何连接隧道连接到远程 SSH 服务器上的指定端口,然后该端口连接到目标计算机上的端口。目标计算机可以是远程 SSH 服务器或任何其他计算机。

本地端口转发主要用于连接内部网络(如数据库或 VNC 服务器)上的远程服务。

在 linux , MacOS 和其他 Unix 系统中创建本地端口转发将 -L 选项传递给 ssh 客户端:

ssh -L [LOCAL_IP:]LOCAL_PORT:DESTINATioN:DESTINATION_PORT [USER@]SSH_SERVER

使用的选项如下:

[LOCAL_IP:]LOCAL_PORT - 本地机器的 ip 和端口号。当 LOCAL_IP 省略 SSH 客户端会连接本地主机。
DESTINATION:DESTINATION_PORT - 目标计算机的 IP 或主机名和端口。
[USER@]SERVER_IP - 远程 SSH 用户和服务器 IP 地址。

LOCAL_PORT 可以使用任何大于 1024 的端口号。端口号小于 1024 特权端口,只能由 root 用户使用。如果您的 SSH 服务器正在侦听 22 以外的端口(默认值),请使用该 -p [PORT_NUMBER] 选项。

目标主机名必须可从 SSH 服务器解析。

假设您在内部(专用)网络上的计算机 db001.host 上运行 MySQL 数据库服务器,在端口 3306 上可以从计算机访问,并且您希望使用本地计算机 pub001.host 上的 Mysql 客户端连接到数据库服务器。为此,您可以转发连接,如下所示:

ssh -L 3336:db001.host:3306 user@pub001.host

运行该命令后,系统将提示您输入远程 SSH 用户密码。输入后,您将登录远程服务器并建立 SSH 隧道。建立基于 SSH 密钥的身份验证连接到服务器而不输入密码是更好的选择。

现在,如果您将本地计算机数据库客户端指向 127.0.0.1:3336 ,则连接将 db001.host:3306 通过 pub001.host 将充当中间服务器的计算机转发到 mysql 服务器。

您可以在单个 ssh 命令中将多个端口转发到多个目标。例如,您在计算机上运行另一个 Mysql 数据库服务器, db002.host 并且您希望从您将运行的本地客户端连接到两个服务器:

ssh -L 3336:db001.host:3306 3337:db002.host:3306 user@pub001.host

要连接到您将使用的第二台服务器 127.0.0.1:3337 。

目标主机与 SSH 服务器相同时,而不是指定可以使用的目标主机 IP 或主机名 localhost 。

假设您需要通过在同一服务器上运行的 VNC 连接到远程计算机,并且无法从外部访问它。您将使用的命令是:

ssh -L 5901:127.0.0.1:5901 -N -f user@remote.host

该 -f 选项告诉 ssh 命令在后台运行而 -N 不是执行远程命令。我们正在使用, localhost 因为 VNC 和 SSH 服务器在同一主机上运行。

如果您在设置隧道时遇到问题,请检查远程 SSH 服务器配置并确保 AllowTcpForwarding 未设置为 no 。默认情况下,允许转发。

远程端口转发

远程端口转发与本地端口转发相反。它允许您将远程 (ssh 服务器)计算机上的端口转发到本地 (ssh 客户端)计算机上的端口,然后将其转发到目标计算机上的端口。

在这种类型的转发中, SSH 服务器侦听给定端口,并将与该端口的任何连接隧道连接到本地 SSH 客户端上的指定端口,然后该端口连接到目标计算机上的端口。目标计算机可以是本地计算机或任何其他计算机。

在 Linux , macOS 和其他 Unix 系统中创建远程端口转发将 -R 选项传递给 ssh 客户端:

ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER

使用的选项如下:

[REMOTE:]REMOTE_PORT - 远程 SSH 服务器上的 IP 和端口号。空 REMOTE 表示远程 SSH 服务器将在所有接口上绑定。
DESTINATION:DESTINATION_PORT - 目标计算机的 IP 或主机名和端口。
[USER@]SERVER_IP - 远程 SSH 用户和服务器 IP 地址。
本地端口转发主要用于从外部向某人提供对内部服务的访问。

假设您正在本地计算机上开发 WEB 应用程序,并且希望向其他开发人员显示预览。您没有公共 IP ,因此其他开发人员无法通过 Internet 访问该应用程序。

如果您可以访问远程 SSH 服务器,则可以按如下方式设置远程端口转发:

ssh -L 8080:127.0.0.1:3000 -N -f user@remote.host

上面的命令将使 ssh 服务器侦听端口 8080 并将从该端口到端口的本地计算机的所有流量隧道传输 3000 。现在您的开发人员可以输入 the_ssh_server_ip:8080 他/她的浏览器并预览您的应用程序。如果您有麻烦设置远程端口转发,确保 GatewayPorts 被设置为 yes 在远程 SSH 服务器配置。

动态端口转发

动态端口转发允许您在充当 SOCKS 代理服务器的本地 (ssh 客户端)计算机上创建套接字。当客户端连接到此端口时,连接将转发到远程 (ssh 服务器)计算机,然后将其转发到目标计算机上的动态端口。

这样,使用 SOCKS 代理的所有应用程序将连接到 SSH 服务器,服务器将所有流量转发到其实际目的地。

在 Linux , macOS 和其他 Unix 系统中创建动态端口转发 (SOCKS) 将 -D 选项传递给 ssh 客户端:

ssh -R [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER

使用的选项如下:

[LOCAL_IP:]LOCAL_PORT - 本地机器的 ip 和端口号。当 LOCAL_IP 省略 SSH 客户端结合在本地主机。
[USER@]SERVER_IP - 远程 SSH 用户和服务器 IP 地址。
动态端口转发的典型示例是通过 SSH 服务器隧道传输 Web 浏览器流量。

以下命令将在端口上创建 SOCKS 隧道 9090 :

ssh -D 9090 -N -f user@remote.host

建立隧道后,您可以配置应用程序以使用它。本文介绍如何配置 Firefox 和 Google Chrome 浏览器以使用 SOCKS 代理。必须为要对其进行隧道传输的每个应用程序单独配置端口转发。

在 Windows 中设置 SSH 隧道

windows 用户可以使用 PuTTY SSH 客户端创建 SSH 隧道。你可以在这里下载 PuTTY 。

启动 Putty 并在 Host name (or IP address) 字段中输入 SSH 服务器 IP 地址。

怎么设置SSH 隧道

在 Connection 菜单下,展开 SSH 并选择 Tunnels 。检查 Local 单选按钮以设置本地, Remote 远程和 Dynamic 动态端口转发。

如果设置本地转发,请在该 Source Port 字段中 Destination 输入本地转发端口,然后输入目标主机和 IP ,例如 localhost:5901 。
对于远程端口转发,请在该 Source Port 字段中 Destination 输入远程 SSH 服务器转发端口,然后输入目标主机和 IP ,例如 localhost:3000 。
如果设置动态转发,则仅输入 Source Port 字段中的本地 SOCKS 端口。

怎么设置SSH 隧道

单击 Add 按钮,如下图所示。

怎么设置SSH 隧道

返回 Session 页面以保存设置,这样您每次都不需要输入它们。在 Saved Session 字段中输入会话名称,然后单击 Save 按钮。

怎么设置SSH 隧道

选择已保存的会话,然后单击 Open 按钮登录远程服务器。

怎么设置SSH 隧道

将显示一个询问您的用户名和密码的新窗口。输入用户名和密码后,您将登录到服务器并启动 SSH 隧道。

设置公钥验证将允许您在不输入密码的情况下连接到服务器。

到此,相信大家对“怎么设置SSH 隧道”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么设置SSH 隧道

本文链接: https://lsjlt.com/news/243736.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么设置SSH 隧道
    本篇内容主要讲解“怎么设置SSH 隧道”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么设置SSH 隧道”吧!SSH 端口转发有三种类型:SSH转发对于传输使用未加密协议(如VNC或FTP),访...
    99+
    2023-06-05
  • 怎么学懂SSH隧道技术
    本篇文章为大家展示了怎么学懂SSH隧道技术,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。概述将介绍一些关于 SSH 隧道技术的小技巧,并且给出一个网络拓扑图更好地解释在做的东西。网络基础假设我的网络...
    99+
    2023-06-15
  • 使用Python实现SSH隧道界面功能
    目录开发原因效果图源码分析构建隧道初始化加载开始服务停止服务移除服务不足之处源码地址开发原因 MobaXterm作为一个全能型终端神器,功能十分强大,我经常使用其中隧道功能,使用内部...
    99+
    2024-04-02
  • Mysql SSH隧道连接使用的基本步骤
    前言 为了安全,mysql的root用户只本机登录,不对外网进行授权访问,此时可通过SSH隧道连接mysql数据库。以下为配置Mysql SSH隧道连接的基本步骤。 下面话不多说了,来一起看看详细的步骤吧 ...
    99+
    2024-04-02
  • 通过navicat工具利用SSH隧道连接MySQL数据库
             前言:因为那台服务器信息比较重要,希望通信被加密,所以不适合直接将3306端口开放到公网。被加密了,而实际情况,可能通过公网访问数据库的需求,可考虑利用SSH隧道连接远程MySQL数据库。 如下连接不了: 这种情况话我们...
    99+
    2023-09-14
    数据库 mysql ssh
  • github怎么设置ssh
    GitHub 是一个支持代码托管的平台,一般的代码仓库都需要通过用户名和密码进行访问,不仅繁琐,而且容易泄漏密码;而SSH则可以用来安全地连接并推送代码,加强代码仓库的管理,下面介绍如何在GitHub上配置SSH。一、什么是SSHSSH(S...
    99+
    2023-10-22
  • ssl隧道建立失败怎么解决
    当 SSL 隧道建立失败时,可能有多种原因导致,以下是一些常见的解决方法:1. 检查 SSL 证书是否有效:确保您使用的 SSL 证...
    99+
    2023-08-15
    ssl
  • 2003和xp如何设置isatap隧道方式获取IPv6地址
    这篇文章将为大家详细讲解有关2003和xp如何设置isatap隧道方式获取IPv6地址,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、首先是系统安装支持IPv6协议   1、鼠标右键...
    99+
    2023-06-13
  • 隧道代理技术是什么
    隧道代理技术是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。(一)隧道代理的工作原理隧道代理(TB)技术提供了简化的隧道配置方法,要求隧道双方支持双栈。通过TB,用户可以轻...
    99+
    2023-06-20
  • SSH隧道动态转发端口实现SOCKS代理 + HTTP代理(Privoxy)
    一、文章概要 实现效果:ssh连接远程服务器进行网络转发,本地服务连接网络代理环境:windows11/10需要工具:MobaXterm(ssh隧道端口转发),Privoxy(socks转http代理),一个云服务器  二、步骤 1. 用S...
    99+
    2023-09-20
    ssh 服务器 运维
  • ICMP隧道工具ptunnel有什么用
    这篇文章主要为大家展示了“ICMP隧道工具ptunnel有什么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“ICMP隧道工具ptunnel有什么用”这篇文章吧。ICMP隧道工具ptunnel在...
    99+
    2023-06-04
  • DNS隧道工具iodine有什么用
    小编给大家分享一下DNS隧道工具iodine有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!DNS隧道工具iodine在受限制的网络中,如果DNS请求没有被...
    99+
    2023-06-04
  • HTTP隧道工具HTTPTunnel有什么用
    这篇文章给大家分享的是有关HTTP隧道工具HTTPTunnel有什么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTTP隧道工具HTTPTunnel在很多服务器上,防火墙会限制主机的出站流量,只允许80之类的...
    99+
    2023-06-04
  • DNS隧道工具dns2tcp有什么用
    小编给大家分享一下DNS隧道工具dns2tcp有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!DNS隧道工具dns2tcp在很多网络环境中,防火墙会限制出站流量,主机往往只能访问外网主机有限的几个端口,如DNS的53...
    99+
    2023-06-04
  • 使用ssh隧道连接远程服务器本地浏览器上网
    1,终端输入命令 ssh -N -D 127.0.0.1:8080 remote_server_name@remote_server_ip_address remote_server_name 参数是远程服务器的用户名 remote_se...
    99+
    2023-09-26
    服务器 ssh linux
  • 如何利用SSH隧道加密技术隐蔽C&C通信流量
    如何利用SSH隧道加密技术隐蔽C&C通信流量,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在网络攻防博弈中,网络流量特征分析类安全防御措施得到了广泛应用...
    99+
    2023-06-05
  • CentOS8中怎么设置SSH密钥
    小编给大家分享一下CentOS8中怎么设置SSH密钥,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!环境客户端:CentOS8 192.168.43.137服务端:...
    99+
    2023-06-28
  • 怎么在Git上设置SSH Key
    今天小编给大家分享一下怎么在Git上设置SSH Key的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、生成SSH Key打...
    99+
    2023-07-05
  • 隧道接口工具airtun-ng有什么用
    这篇文章主要介绍了隧道接口工具airtun-ng有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。隧道接口工具airtun-ngairtun-ng是aircrack-ng...
    99+
    2023-06-04
  • UDP转TCP隧道工具udptunnel有什么用
    小编给大家分享一下UDP转TCP隧道工具udptunnel有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!UDP转TCP隧道工具udptunnel在部分受限的网络环境中,UDP协议被受限,但TCP不受限制。Kali ...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作