0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是反向SSH?如何創(chuàng)建反向SSH隧道?

馬哥Linux運維 ? 來源:huaweicloud ? 2024-08-05 15:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

【摘要】 反向 SSH 是一種可用于從外部世界訪問系統(tǒng)(位于防火墻后面)的技術

反向 SSH 是一種可用于從外部世界訪問系統(tǒng)(位于防火墻后面)的技術。

如您所知,SSH 是一種支持網(wǎng)絡節(jié)點之間加密通信的網(wǎng)絡協(xié)議。使用此協(xié)議,您可以進行安全的遠程登錄、從/到遠程機器的安全復制等。

您通常會執(zhí)行以下操作以使用ssh 命令安全地連接到遠程服務器。

$ ssh [your-account-login]@[server-ip]

什么是反向 SSH?

SSH 是一個非常好的安全訪問遠程機器或服務器的工具。但是,當您嘗試連接到防火墻后面的遠程服務器并且此防火墻拒絕任何傳入連接或沒有先前傳出請求的數(shù)據(jù)傳輸請求時,就會出現(xiàn)問題。這意味著只允許那些由遠程服務器機器發(fā)起的連接。對于那些想要遠程訪問此服務器機器的人來說,這是一個真正的問題。

反向 SSH 提供了一種技術,您可以通過該技術模擬到此遠程服務器計算機的正常 SSH。

主要問題是防火墻拒絕您的機器嘗試與遠程服務器機器建立的 ssh 連接。但是您知道,同一防火墻不會對源自服務器計算機的連接有任何問題。所以,為什么不請坐在防火墻后面的人做一些事情,以實現(xiàn)遠程訪問服務器的目標。為此,我們必須使用 ssh -R 選項。

這是手冊頁中 ssh -R 選項的描述:

-R [bind_address:]porthostport

指定將遠程(服務器)主機上的給定端口轉發(fā)到本地端的給定主機和端口。這是通過分配一個套接字來偵聽遠程端的端口來實現(xiàn)的,并且每當與此端口建立連接時,都會通過安全通道轉發(fā)連接,并從本地計算機建立與主機端口 hostport 的連接。

因此,您可以使用帶有 -R 選項的 ssh 命令(在我們的例子中來自服務器)連接到您的機器,在那里分配一個端口,并確保該端口上的任何連接請求都轉發(fā)到遠程服務器的 ssh 端口。

服務器機器執(zhí)行 ssh 并通過端口轉發(fā)確保您可以 ssh 返回服務器機器,而不是您的機器執(zhí)行 ssh。

如何創(chuàng)建反向 SSH 隧道?

這是您坐在遠程服務器端的朋友應該在服務器上運行的命令:

ssh -fN -R 7000:localhost:22 username@yourMachine-ipaddress

因此,從遠程服務器到您的機器的這個 ssh 連接請求將確保您機器上端口 7000 的任何 ssh 連接請求都轉發(fā)到遠程服務器的端口 22。

現(xiàn)在在端口 7000 上從您的機器向您自己的機器發(fā)出 ssh 連接請求:

ssh username@localhost -p 7000

在這里,盡管您似乎在 localhost 上執(zhí)行 ssh,但您的請求將被轉發(fā)到遠程主機。因此,您應該在遠程服務器上使用您的帳戶“用戶名”,并在提示輸入密碼時輸入相應的密碼。

這應該清楚與反向 ssh 技術相關的大部分方面。但是,有一個問題。問題是你必須先請你的一個朋友——他坐在防火墻后面——來創(chuàng)建一個 ssh 連接。這不是每次都可行的。

為了克服這個問題,您可以做的是設置一臺不受防火墻限制的機器(就像您的機器一樣),使其始終處于開啟狀態(tài)。讓我們將此機器稱為 machine_z。

machine_z 的好處是,您可以一次在其上設置反向 ssh,然后將其保留為這樣。在任何時候,當您需要登錄遠程機器時,您可以在指定端口上 ssh 進入 machine_z(如前所示),您的連接請求將被轉發(fā)到遠程服務器機器,瞧,您將在遠程運行命令服務器。

在相關說明中,您還可以設置無密碼 SSH以在不輸入密碼的情況下連接到另一臺服務器。

您需要在 machine_z 上配置的一些設置包括:

確保將參數(shù) TCPKeepAlive、ClientAliveInterval、ClientAliveCountMax 和 GatewayPorts 設置為適當?shù)闹怠_@些參數(shù)位于 /etc/sshd_config 或/etc/ssh/sshd_config文件中

如果您對上述參數(shù)進行了一些更改,您應該重新啟動 sshd 守護程序以反映更改。

此外,請確保使用nohup 命令運行第一個 ssh 命令(從遠程服務器執(zhí)行到 machine_z) ,以便此 ssh 會話不受用戶注銷時可能發(fā)生的掛起的影響。

鏈接:https://bbs.huaweicloud.com/blogs/371112

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11489

    瀏覽量

    213174
  • 服務器
    +關注

    關注

    13

    文章

    9745

    瀏覽量

    87529
  • 命令
    +關注

    關注

    5

    文章

    733

    瀏覽量

    22784
  • SSH
    SSH
    +關注

    關注

    0

    文章

    195

    瀏覽量

    16849

原文標題:如何在 Linux 上設置反向 SSH

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    SSH定義及應用

    學習完本課程,您應該能夠:了解SSH定義及應用。掌握SSH和SFTP工作原理,掌握SSH和SFTP應用,掌握SSH和SFTP的配置及維護。
    發(fā)表于 04-12 17:38 ?12次下載

    SSH指南

    OpenSSH OpenSSH 是 SSH (Secure SHell) 協(xié)議的免費開源實現(xiàn)。它用安全、加密的網(wǎng)絡連接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具
    發(fā)表于 11-07 11:44 ?1次下載

    三條命令助你快速實現(xiàn)SSH內網(wǎng)穿透

    ssh 反向隧道相信大多數(shù)同學都比較了解,就算不了解也一定在日常工作中聽說過,其實拋開那些專業(yè)的術語,通常我們借助 ssh反向
    的頭像 發(fā)表于 11-14 14:32 ?4911次閱讀

    SSH第3部分:配置SSH反向隧道以減少暴露的端口

    的 Web 服務。您還可以使用 SSH 隧道創(chuàng)建跳轉框和網(wǎng)關,允許遠程連接到您的網(wǎng)絡,而無需暴露額外的網(wǎng)絡端點或端口。
    的頭像 發(fā)表于 01-03 09:45 ?3696次閱讀
    <b class='flag-5'>SSH</b>第3部分:配置<b class='flag-5'>SSH</b><b class='flag-5'>反向</b><b class='flag-5'>隧道</b>以減少暴露的端口

    SSH是什么?

    SSH(secure shell)是一種網(wǎng)絡協(xié)議,用于不同主機之間的加密通信。在1995年被設計出來,現(xiàn)已成為Linux系統(tǒng)的標準配置。
    的頭像 發(fā)表于 02-15 14:05 ?5048次閱讀

    如何修改Linux系統(tǒng)的SSH端口

    SSH 是一種網(wǎng)絡協(xié)議,用于與 Linux 系統(tǒng)進行遠程安全通信。默認情況下,SSH 服務使用端口 22。
    的頭像 發(fā)表于 03-20 16:46 ?2921次閱讀

    什么是SSH密鑰?如何使用SSH密鑰?

    SSH密鑰是用戶名和密碼的替代方法,是一種用戶身份驗證方法。它主要用于向服務提供加密文件而不是基于文本的密碼。
    的頭像 發(fā)表于 05-04 09:04 ?6043次閱讀
    什么是<b class='flag-5'>SSH</b>密鑰?如何使用<b class='flag-5'>SSH</b>密鑰?

    保持SSH會話不掉線

    如果我們看到這個錯誤消息,意味著我們需要手動創(chuàng)建這個配置文件。如果 .ssh 目錄不存在,首先創(chuàng)建 .ssh 目錄,使用命令 mkdir $HOME/.
    的頭像 發(fā)表于 05-05 10:41 ?2816次閱讀

    SSH命令詳解

    ssh是一種安全的遠程登錄及傳輸協(xié)議。ssh可用于遠程登錄、遠程文件傳輸?shù)取?b class='flag-5'>ssh是安全的shell。
    的頭像 發(fā)表于 06-02 10:00 ?1.8w次閱讀
    <b class='flag-5'>SSH</b>命令詳解

    輕量服務器怎么搭建ssh?

    。在控制臺中,找到并點擊左側導航欄中的密鑰選項。然后,在密鑰列表頁面上,點擊創(chuàng)建密鑰按鈕。 第二步:創(chuàng)建SSH密鑰 在創(chuàng)建SSH密鑰窗口中,
    的頭像 發(fā)表于 10-10 09:59 ?899次閱讀

    SSH端口號是什么?SSH是如何工作的?

    SSH(Secure Shell,安全外殼)是一種網(wǎng)絡安全協(xié)議,通過加密和認證機制實現(xiàn)安全的訪問和文件傳輸?shù)葮I(yè)務。傳統(tǒng)遠程登錄或文件傳輸方式,例如Telnet、FTP,使用明文傳輸數(shù)據(jù),存在很多
    的頭像 發(fā)表于 11-10 10:06 ?3701次閱讀
    <b class='flag-5'>SSH</b>端口號是什么?<b class='flag-5'>SSH</b>是如何工作的?

    怎么用SSH密鑰登陸vps?

    使用SSH密鑰登錄VPS(Virtual Private Server)是一種更安全和方便的方式,相比使用密碼,SSH密鑰更難被破解。以下是在Linux系統(tǒng)上使用SSH密鑰登錄VPS的基本步驟: 一
    的頭像 發(fā)表于 02-20 16:29 ?1664次閱讀

    NAS教程:鐵威馬如何登錄 SSH終端?

    適用型號: 所有TNAS 型號 如您有特殊操作需要通過 SSH 終端登錄 TNAS,請參照以下指引: (注意: 關于以下操作步驟中的"cd /"的指令,其作用是使當前 SSH/Telnet 連接
    的頭像 發(fā)表于 06-26 14:30 ?755次閱讀
    NAS教程:鐵威馬如何登錄 <b class='flag-5'>SSH</b>終端?

    SSH遠程操作的基本方式

    SSH 是 Linux 下進行遠程連接的基本工具,但是如果僅僅用它來登錄那可是太浪費啦!SSH 命令可是完成遠程操作的神器啊,借助它我們可以把很多的遠程操作自動化掉!下面就對 SSH 的遠程操作功能進行一個小小的總結。
    的頭像 發(fā)表于 11-11 11:15 ?709次閱讀
    <b class='flag-5'>SSH</b>遠程操作的基本方式

    SSH遠程登錄與控制教程

    SSH(Secure Shell)是一種安全通道協(xié)議,主要用來實現(xiàn)字符界面的遠程登錄、遠程 復制等功能。SSH 協(xié)議對通信雙方的數(shù)據(jù)傳輸進行了加密處理,其中包括用戶登錄時輸入的用戶口令,SSH 為建立在應用層和傳輸層基礎上的安全
    的頭像 發(fā)表于 04-09 13:43 ?2688次閱讀
    <b class='flag-5'>SSH</b>遠程登錄與控制教程

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品