使用OpenSSH进行端口转发和代理

介绍

SSH,也称为安全外壳,可用于获得远程外壳之外的更多功能。本文将演示如何将SSH用于端口转发和代理。

唯一的先决条件是OpenSSH服务器(默认在Vultr Linux映像上安装)和OpenSSH客户端(在Linux,BSD和MS Windows上可用)。

目的

SSH代理主要用于代理Web流量。例如,它可以用于保护您的Web通信免受不安全的本地网络的侵害。

SSH端口转发通常用于访问不可公开访问的服务。例如,您可以在服务器(例如Webmin)上运行系统管理Web界面,但出于安全原因,只能监听localhost上的连接。在这种情况下,您可以使用SSH将所选端口上的连接从本地计算机转发到服务正在侦听服务器端的端口,从而使您可以通过SSH隧道远程访问此特定服务。使用SSH端口转发的另一种常见情况是,通过SSH隧道访问到该专用网络上的主机的远程专用网络上的服务。

用法

代理和端口转发都不需要在服务器上进行任何特殊配置。但是,始终建议在SSH中使用基于密钥的身份验证。请阅读如何生成SSH密钥。

SSH代理

创建SSH代理非常简单,一般语法如下:

ssh -D [bind-address]:[port] [username]@[server]

其中[bind-address],要侦听的本地地址是,要侦听[port]的本地端口,[username]是服务器上的用户名,并且[server]是服务器的IP地址或主机名。如果[bind-address]未指定,localhost则在大多数情况下,SSH将默认为默认值。

这是一个实际的例子:

ssh -D 8080 root@your_server

为了使用此代理,必须将浏览器配置SOCKSv5为用作代理类型和8080代理端口。

SSH端口转发

该命令的一般语法如下:

ssh -L [localport]:[remotehost]:[remoteport] [username]@[server]

哪里[localport]是在SSH客户端将侦听的端口,[remotehost]是它的连接将被转发的主机的IP地址。这将是127.0.0.1如果你是隧道连接到您服务器。最后,[remoteport]是您要连接的服务所使用的服务器上的端口号。

范例1:

考虑10000在服务器的端口上运行一个重要的Web服务,但该服务不可公开访问。以下命令将用于建立到该服务的SSH隧道。

ssh -L 80:127.0.0.1:10000 root@your_server

现在http://127.0.0.1,您可以通过在本地浏览器中键入内容进行连接。

范例2:

您在专用网络上有两个Vultr服务器。一个正在运行Linux发行版,另一个正在运行MS Windows。在Windows实例上,RDP服务器正在运行,但出于安全原因未公开到Internet。假设192.168.1.5是Windows计算机的专用IP地址,则可以使用以下命令通过计算机上的端口连接到远程桌面服务器:

ssh -L 3389:192.168.1.5:3389 root@your_server

现在,从计算机到自身的任何RDP连接都将通过Linux服务器传送到Windows服务器。



Leave a Comment

使用OpenBSD在Vultr上配置BGP

使用OpenBSD在Vultr上配置BGP

Vultrs BGP功能使您可以拥有自己的IP空间并在我们的任何位置使用它,而OpenBSD实例则不需要其他软件!

如何在CentOS 7上使用Mosh进行远程服务器管理

如何在CentOS 7上使用Mosh进行远程服务器管理

使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用

配置专用网络

配置专用网络

如果您将专用网络分配给现有计算机(或部署自己的操作系统),则需要在专用计算机上配置IP地址。

如何在Linux上设置TCP优化

如何在Linux上设置TCP优化

简介当来自其他国家的访问者访问您的网站时,连接出现问题吗?想知道为什么从您的预言下载速度

BGP公告的授权书示例

BGP公告的授权书示例

请求BGP公告的授权时,请使用以下模板。授权信[日期]可能涉及的人Thi

在Debian / Ubuntu上设置您自己的DNS服务器

在Debian / Ubuntu上设置您自己的DNS服务器

本教程说明了如何在Debian或Ubuntu上使用Bind9设置DNS服务器。在整篇文章中,请相应地替换your-domain-name.com。在

在Windows上通过PuTTY使用SSH连接到服务器

在Windows上通过PuTTY使用SSH连接到服务器

首次连接到Linux服务器可能会造成混乱,特别是如果您具有强大的Windows背景。连接到Linux(或UNIX)时

如何在Ubuntu 16.04 LTS上安装OpenNMS

如何在Ubuntu 16.04 LTS上安装OpenNMS

使用其他系统?OpenNMS是企业级开源网络管理平台,可用于监视和管理众多设备。

如何在CentOS 7上部署Google BBR

如何在CentOS 7上部署Google BBR

BBR(Bottleneck带宽和RTT)是一种新的拥塞控制算法,由Google贡献给Linux内核TCP堆栈。有了BBR,

使用OpenVPN设置自己的专用网络

使用OpenVPN设置自己的专用网络

Vultr为在同一位置运行的服务器提供了绝佳的专用网络连接。但是有时您想要在不同国家/地区使用两台服务器

在Ubuntu 14.04 x64上为Cisco AnyConnect设置OpenConnect VPN服务器

在Ubuntu 14.04 x64上为Cisco AnyConnect设置OpenConnect VPN服务器

OpenConnect服务器,也称为ocserv,是通过SSL进行通信的VPN服务器。通过设计,其目标是成为安全,轻便和快速的VP

如何在CentOS 6上使用WonderShaper限制流量

如何在CentOS 6上使用WonderShaper限制流量

简介在本教程中,最好安装WonderShaper,该实用程序用于限制传入/传出流量。这可以用于多种

在CentOS 6上设置PPTP VPN服务器

在CentOS 6上设置PPTP VPN服务器

本指南说明了如何使用yum存储库中可用的pptpd守护程序在CentOS 6上设置自己的PPTP VPN。请注意,证券

为Windows远程桌面设置动态DNS

为Windows远程桌面设置动态DNS

本文将向您展示如何为远程桌面设置动态DNS,以便避免一次又一次设置远程协助的麻烦。w ^

在Debian上使用Samba创建网络共享

在Debian上使用Samba创建网络共享

有时我们需要共享Windows客户端必须可见的文件。由于基于Fuse的系统只能在Linux上运行,因此不妨介绍一下

在Windows Server 2012上使用远程访问设置VPN服务器

在Windows Server 2012上使用远程访问设置VPN服务器

本指南说明了如何使用Windows Server 2012设置PPTP VPN。我们将使用远程访问角色来设置VPN并为单个用户

反向SSH隧道

反向SSH隧道

在Internet服务提供商中,通常的做法是阻塞其归属用户的大部分(即使不是全部)入站端口,这使它成为不可能

在Debian 7上具有Postfix,Dovecot和筛子的简单Mailserver

在Debian 7上具有Postfix,Dovecot和筛子的简单Mailserver

下面的教程描述了如何使用Postfix作为MTA,Dovecot作为MDA以及出色的Sieve来设置简单的邮件服务器来对邮件进行排序。起始

RPKI

RPKI

RPKI(资源公钥基础结构)是一种有助于防止BGP劫持的方法。它使用加密签名来验证是否允许ASN

在Windows Server 2012上设置DNS服务器

在Windows Server 2012上设置DNS服务器

Windows Server 2012可以配置为DNS服务器。DNS用于将域名解析为IP地址。通过托管自己的DNS服务器,您可以

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg

在Arch Linux上使用Makepkg可以避免系统污染,确保仅安装必要的依赖关系。

如何在Ubuntu 16.04上安装OpenSIPS控制面板

如何在Ubuntu 16.04上安装OpenSIPS控制面板

快速学习如何在Ubuntu 16.04上安装OpenSIPS控制面板,为VoIP提供商提供支持的功能。

在Fedora 28上安装Akaunting

在Fedora 28上安装Akaunting

学习如何在Fedora 28上安装Akaunting,一款适合小型企业和自由职业者的开源会计软件。

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

如何在CentOS 7上安装Mailtrain新闻通讯应用程序

使用其他系统?Mailtrain是一个基于Node.js和MySQL / MariaDB构建的开源自托管新闻通讯应用程序。

诊断Minecraft服务器延迟和低TPS

诊断Minecraft服务器延迟和低TPS

了解導致Minecraft延遲的原因和解決方案,包括優化伺服器性能和減少滯後的步驟。

AI 能否應對越來越多的勒索軟件攻擊?

AI 能否應對越來越多的勒索軟件攻擊?

勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根

ReactOS:這是 Windows 的未來嗎?

ReactOS:這是 Windows 的未來嗎?

ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

通過 WhatsApp 桌面應用程序 24*7 保持聯繫

Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+

人工智能如何將流程自動化提升到新的水平?

人工智能如何將流程自動化提升到新的水平?

閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。

macOS Catalina 10.15.4 補充更新引發的問題多於解決

macOS Catalina 10.15.4 補充更新引發的問題多於解決

最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息