Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
家好,我是Echa。
工欲善其事、必先利其器,每天都需要通過SSH工具遠程登錄服務(wù)器,那么使用一款高效的連接工具就很有必要。
安全外殼協(xié)議(Secure Shell,簡稱SSH)是一種在不安全網(wǎng)絡(luò)上用于安全遠程登錄和其他安全網(wǎng)絡(luò)服務(wù)的協(xié)議。
SSH安全遠程登錄整個過程
SSH由IETF的網(wǎng)絡(luò)小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH 是較可靠,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統(tǒng)上的一個程序,后來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網(wǎng)絡(luò)中的漏洞。SSH客戶端適用于多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。
利用SSH隧道動態(tài)端口轉(zhuǎn)發(fā)
SSH 之所以一經(jīng)提出,就得到了快速發(fā)展,是因為數(shù)據(jù)的安全性對任何人都非常重要。說到安全這塊,那就就要細聊密碼學(xué)基本概念:
SSH中基于秘鑰的安全認證
如果你是一名運維人員或者需要進行管理遠程服務(wù)器的話,相信你肯定需要用到SSH連接軟件。SSH客戶端就是可以使用SSH進行遠程連接服務(wù)器的應(yīng)用程序。
SSH場景實踐,借助SSH免秘實現(xiàn)跳板機架構(gòu)圖
SSH客戶端通過使用SSH協(xié)議和密鑰可以讓用戶安全的訪問云服務(wù)器以及執(zhí)行 shell 命令。為了防止通過網(wǎng)絡(luò)進行的通信被竊取,SSH 協(xié)議通過 SSL 或安全套接字層協(xié)議進行通信加密。密鑰則有助于識別可靠的系統(tǒng)而無需任何密碼并與服務(wù)器進行通信。
借此機會,今天小編給大家推薦26個開源免費又好用的SSH客戶端工具,不用擔心數(shù)據(jù)丟失和泄露。希望對粉絲們有所幫助。同時送上一份真摯的祝福,愿粉絲們財源廣進,事業(yè)有成,健康快樂,幸福美滿。愿大家的人生如詩如歌,精彩紛呈。接下來小編給大家介紹一些比較出名常用的SSH客戶端工具。
官網(wǎng):https://www.putty.org/
介紹
Putty 是一款開源免費的SSH連接客戶端軟件,也是最知名的Windows SSH連接工具。適用于 Windows 和 Unix 平臺的Telnet、SSH和 RLOGIN客戶端。
特點
截圖
官網(wǎng):https://mobaxterm.mobatek.net/
介紹
Mobatek 是一家位于法國圖盧茲的軟件公司,帶有 X11 服務(wù)器、選項卡式 SSH 客戶端、網(wǎng)絡(luò)工具等的增強型 Windows 終端;MobaXterm 是一款遠程控制工具,支持創(chuàng)建SSH,Telnet,Rsh,Xdmc,RDP,VNC,FTP,SFTP,串口(Serial COM),本地Shell,Mosh,Aws,WSL(微軟子系統(tǒng))等超多連接功能。MobaXterm 提供了人性化的操作界面,支持與主流的操作系統(tǒng)連接進行控制和管理操作,功能十分強大。
特性
截圖
官網(wǎng):https://www.hostbuf.com/
介紹
FinalShell是一款功能強大的Windows終端,它支持多個標簽頁、內(nèi)置SSH客戶端、SFTP客戶端、Telnet客戶端、SCP客戶端和FTP客戶端等。它還具有自動補全、命令行歷史記錄、正則表達式、宏錄制和編輯器等一系列實用功能,可大大提高工作效率。另外,F(xiàn)inalShell還支持各種主題,可以根據(jù)個人喜好進行定制。
功能介紹
主要功能介紹:
系統(tǒng)截圖
官網(wǎng):https://www.xshell.com/zh/xshell/
介紹
Xshell 是一個強大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺的TELNET 協(xié)議。
Xshell 通過互聯(lián)網(wǎng)到遠程主機的安全連接幫助用戶在復(fù)雜的網(wǎng)絡(luò)環(huán)境中享受他們的工作。
Xshell可以在Windows界面下用來訪問遠端不同系統(tǒng)下的服務(wù)器,從而比較好的達到遠程控制終端的目的。除此之外,其還有豐富的外觀配色方案以及樣式選擇。
總結(jié)起來也就是說Xshell是用于遠程連接Linux服務(wù)器,方便用戶對Linux服務(wù)器上的資源文件進行遠程操控;
截圖
官網(wǎng):https://www.openssh.com/
介紹
OpenSSH 是 SSH (Secure SHell) 協(xié)議的免費開源實現(xiàn),軟件是完全開源免費的。SSH協(xié)議組可以用來進行遠程控制, 或在計算機之間傳送文件。而實現(xiàn)此功能的傳統(tǒng)方式,如telnet(終端仿真協(xié)議)、 rcp ftp、 rlogin、rsh都是極為不安全的,并且會使用明文傳送密碼。
OpenSSH提供了服務(wù)端后臺程序和客戶端工具,用來加密遠程控件和文件傳輸過程中的數(shù)據(jù),并由此來代替原來的類似服務(wù)。
特點
截圖
Github:https://github.com/cyd01/KiTTY
介紹
Kitty軟件是一款流行的SSH和Telnet客戶端,最初由KiTTY團隊創(chuàng)建和開發(fā)。它是一個在Windows操作系統(tǒng)中運行的免費開源軟件,支持多種協(xié)議和加密方法,如SSH、Telnet、登錄、SCP、SFTP等。
用戶可以通過Kitty連接到遠程服務(wù)器,以便在本地計算機上進行管理、維護和操作。Kitty還提供圖形用戶界面(GUI)和命令行界面(CLI),使用戶可以根據(jù)自己的偏好選擇需要的交互方式。
特性
優(yōu)勢
相比其他SSH和Telnet客戶端,Kitty軟件具有許多優(yōu)勢。首先,Kitty是一款免費開源的軟件,不需要支付任何費用。其次,Kitty有一個龐大的用戶社區(qū),提供支持和建議,使得使用過程更加便捷和簡單。此外,Kitty可以以多種語言提供支持,使得全球用戶都可以使用Kitty。最后,Kitty具有高度的可定制性,讓用戶可以根據(jù)自己的需求進行設(shè)置和調(diào)整。
總的來說,Kitty軟件是一個出色的SSH和Telnet客戶端,它具有多種協(xié)議和加密方法,提供自動重連、優(yōu)化的數(shù)據(jù)傳輸速度、內(nèi)置的屏幕滾動等功能,擁有高度的可定制性。Kitty軟件的安裝和使用也非常簡單。如果你需要遠程管理和維護服務(wù)器,那么Kitty是一個非常好的選擇。
官網(wǎng):https://www.juicessh.com/
介紹
juicessh是一款功能強大的安卓SSH客戶端應(yīng)用,支持SSH, 本地Shell,Mosh和Telnet,最重要的是該軟件可以直接對linux服務(wù)進行管理,是系統(tǒng)管理員不可或缺的神級軟件。
同時只要利用該軟件進行了SSH遠程連接,那么就可以直接使用命令行遠程操作你的windows主機了,比如關(guān)機、注銷、重啟、查看或終止系統(tǒng)進程、打開音樂播放器等等常見操作都可以使用命令行的形式進行遠程操作,非常強大。
而且juicessh還為用戶們提供了IPv6協(xié)議、UTF-8字符、SSH密鑰轉(zhuǎn)發(fā)代理、端口轉(zhuǎn)發(fā)、主機云同步備份等各種功能,非常豐富,并為了可以更好的滿足廣大用戶的個性化使用需求,其中還提供了第三方插件、暗色界面、多種終端配色方案、調(diào)節(jié)字體大小等操作,非常細節(jié)。
截圖
官網(wǎng):https://servercat.app/
介紹
ServerCat 是一款iOS平臺上的Linux管理軟件,它可以讓你在iPhone上連接遠程服務(wù)器,用來監(jiān)視系統(tǒng)性能、管理Docker和執(zhí)行SSH命令,軟件內(nèi)提供了很多監(jiān)控參數(shù),比如CPU、內(nèi)存、系統(tǒng)負載、網(wǎng)速、硬盤等,并且以可視化的形式展示,你可以隨時查看自己服務(wù)器的系統(tǒng)狀態(tài),避免因負載過高則影響產(chǎn)品服務(wù)
官網(wǎng):https://www.vandyke.com/products/securecrt/index.html
介紹
SecureCRT是一款支持SSH(SSH1和SSH2)的終端仿真程序,簡單地說是Windows下登錄UNIX或Linux服務(wù)器主機的軟件。
SecureCRT支持SSH,同時支持Telnet和rlogin協(xié)議。SecureCRT是一款用于連接運行包括Windows、UNIX和VMS的理想工具。
通過使用內(nèi)含的VCP命令行程序可以進行加密文件的傳輸。有流行CRTTelnet客戶機的所有特點,包括:自動注冊、對不同主機保持不同的特性、打印功能、顏色設(shè)置、可變屏幕尺寸、用戶定義的鍵位圖和優(yōu)良的VT100,VT102,VT220和ANSI競爭.能從命令行中運行或從瀏覽器中運行.其它特點包括文本手稿、易于使用的工具條、用戶的鍵位圖編輯器、可定制的ANSI顏色等.SecureCRT的SSH協(xié)議支持DES,3DES和RC4密碼和密碼與RSA鑒別。
截圖
Github:https://github.com/kingToolbox/WindTerm
介紹
WindTerm 是一款開源免費、跨平臺SSH/Sftp/Shell/Telnet/Serial 客戶端,即遠程連接工具,還跨平臺,支持 Windows、Linux 和 macOS。
特點
官網(wǎng):https://codemutex.com/
介紹
NextSSH 是一款簡潔直觀的 SSH 客戶端, 支持 Windows、macOS 與 Linux。 并且集成了 SFTP、遠程文件編輯、數(shù)據(jù)同步等輔助功能。
特性
現(xiàn)代的終端
現(xiàn)如今,很多實用的 IDE 和編輯器工具都能提供舒適的編輯環(huán)境和自動提示。
在 NextSSH 終端界面按下 Shift + Enter 即可喚出命令編輯欄。 在此您可以編輯較為復(fù)雜的命令,按下 Ctrl + Enter 發(fā)送。
平行任務(wù),平鋪標簽
進行復(fù)雜任務(wù),您可以將標簽頁拖拽到任意位置。
比如終端在左,配置文件編輯器在右。平行任務(wù),平鋪標簽
命令面板
使用 Ctrl(Cmd) + Shift + K 喚出命令面板。
您可進行模糊搜索,快速連接服務(wù)器、打開文件、發(fā)送預(yù)先保存的命令片段。
在線編輯文件
您可以通過 SFTP 在線管理和編輯配置文件的功能,不必將文件反復(fù)拷貝到本地。大多數(shù)的語言或文件都能得到良好的代碼高亮和提示。
實時了解系統(tǒng)狀態(tài)
NextSSH 提供了實時的數(shù)據(jù)監(jiān)看功能,幫助用戶關(guān)注設(shè)備與軟件的狀態(tài)。
官網(wǎng):https://tabby.sh/
Github:https://github.com/eugeny/tabby
介紹
Tabby(原名 Terminus)是一個高度可配置的終端模擬器、SSH 和串行客戶端,適用于 Windows、macOS 和 Linux。
特性:
功能:
系統(tǒng)截圖
官網(wǎng):https://electerm.html5beta.com/
Github:https://github.com/electerm/electerm
介紹
electerm 是基于 electron/ssh2/node-pty/xterm/antd/subx 和其他 lib 的終端 /ssh/sftp 客戶端,適用于 Windows、macOS 和 Linux。
特性:
官網(wǎng):www.nushell.sh/
Github:https://github.com/nushell/nushell
介紹
這個項目的目標是彰顯 Shell 的 Unix 哲學(xué),就是用管道將簡單的命令連接在一起,并且?guī)憩F(xiàn)代的開發(fā)風(fēng)格。
Nu 從許多熟悉的領(lǐng)域中汲取了線索:bash 等傳統(tǒng) shell,PowerShell 等高級 shell,函數(shù)式編程,系統(tǒng)編程等。但是 Nu 并沒有試圖成為所有行業(yè)的杰作,而是將精力集中在做好一些事情上:
截圖
官網(wǎng):https://ec.nantian.com.cn/
介紹
Aechoterm 是一款免費的、跨平臺的,以SSH、SFTP協(xié)議訪問遠程服務(wù)器的終端、文件管理工具。可以將本地與遠程主機文件進行互傳,并可在多個遠程服務(wù)器上同時執(zhí)行命令
基本特點
完全免費,風(fēng)格簡約,支持中文,自帶sftp,安全穩(wěn)定,Windows/macOS/Linux多平臺可用。
截圖
官網(wǎng):https://trzsz.github.io/ssh
Github:https://github.com/trzsz/trzsz-ssh
介紹
支持 trzsz ( trz / tsz ) 的 ssh 客戶端,支持搜索和選擇服務(wù)器進行批量登錄,支持記住密碼。
截圖
官網(wǎng):https://hyper.is/
介紹
Hyper是一個跨平臺的SSH連接工具,最大的特點就是軟件的用戶界面設(shè)計的非常的美觀。而且可以完全免費的進行使用,并且支持各種類型的系統(tǒng)平臺(包括 Windows、Mac OS 和 Debian、 Fedora)。
Hyper的目標是為所有使用枯燥乏味的命令行界面的用戶提供可擴展且令人愉悅的SSH連接管理體驗。并且可以為用戶提供高穩(wěn)定性、快速以及開發(fā)正確的API接口。
Hyper對DSA 和 RSA 公鑰身份驗證提供出色的支持以及全面設(shè)計的用戶密鑰對管理。此外還帶有高級別的可編寫腳本的命令行SFTP 客戶端。
截圖
官網(wǎng):https://mremoteng.org/
Github:https://github.com/mRemoteNG/mRemoteNG
介紹
mRemoteNG是 SSH 客戶端最好的開源 PuTTY 替代品之一,它是mRemote的一個分支,提供了廣泛的遠程連接功能。
該系統(tǒng)下的每個應(yīng)用程序都具有多個焦點,mRemoteNG提供多選項卡和多協(xié)議功能。它支持以選項卡式界面為基礎(chǔ)的多個遠程會話。
主要特點:
官網(wǎng):https://winscp.net/eng/index.php
介紹
WinSCP 是一個 Windows 環(huán)境下使用的 SSH 的開源圖形化 SFTP 客戶端。同時支持 SCP 協(xié)議。它的主要功能是在本地與遠程計算機間安全地復(fù)制文件,并且可以直接編輯文件。
截圖
官網(wǎng):https://sysprogs.com/SmarTTY/
介紹
SmarTTY是一款免費的多標簽SSH客戶端,支持使用SCP命令隨時復(fù)制文件和目錄。
SSH服務(wù)器每個連接支持最多10個子會話.SmarTTY在做得:沒有多個窗口,不需要重新登錄,僅打開一個新的標簽頁可以。
官網(wǎng):https://www.solarwinds.com/free-tools/solar-putty
介紹
Windows 上的另一個PuTTY替代品是 SolarWinds 的 – Solar-PuTTY,它是一種免費使用的許可工具,提供安全的 SSH 連接以及依賴于 SFTP 和 SCP 的集成文件傳輸機制。
與PuTTY一樣,Solar-PUTTY可用于遠程登錄您的計算機并在設(shè)備之間傳輸文件。Solar-PuTTY 還在其安全終端仿真器功能下實施 Telnet 系統(tǒng)。該界面保存憑據(jù),使您可以自動登錄并安全連接。
Solar-PUTTY – 免費的 SSH 客戶端
主要特點:
官網(wǎng):https://www.termius.com/
介紹
Terminals是另一個免費的開源 SSH 連接客戶端,可以幫助你從 Windows 計算機遠程登錄到 Linux 服務(wù)器。支持 Telnet、RAS、VNC、RDP、SSH 在內(nèi)的多種連接協(xié)議。此外還可以直接保存密碼、遠程服務(wù)器的登錄ID等憑據(jù),以便通過一鍵點擊快速的連接到服務(wù)器進行管理。
Terminals還能夠以全屏模式進行管理。還支持在使用時進行屏幕截圖。軟件重新啟動后,可以快速打開已保存的連接。你甚至可以從其窗口打開自定義的應(yīng)用程序。還提供了創(chuàng)建一組服務(wù)器的功能。可以為同一服務(wù)器輕松保存多個用戶憑據(jù)。
官網(wǎng):https://www.bastillion.io/
Github:https://github.com/bastillion-io/Bastillion
介紹
Bastillion是一款基于Web的SSH控制終端,該工具可以幫助廣大開發(fā)人員集中管理針對目標系統(tǒng)的管理員權(quán)限訪問。這款基于Web的管理工具還結(jié)合了用戶公共SSH密鑰的管理和分發(fā),而密鑰的管理需要基于配置文件中定義的用戶身份來進行分配。
管理員可以使用Authy或Google Authenticator來在登錄時開啟雙因素身份驗證功能。登錄后,他們就可以管理公共SSH密鑰,或通過一個WebShell來連接到他們的系統(tǒng)中了。在Bastillion中,命令是可以跨Shell共享的,這樣可以簡化操作,并消除冗余的命令執(zhí)行。
Bastillion將TLS/SSL層放在SSH之上,并充當bastion主機進行管理。由于Bastillion使用的協(xié)議棧為TLS/SSL+SSH,因此基礎(chǔ)設(shè)施不能通過隧道/端口轉(zhuǎn)發(fā)來暴露在外。另外,默認情況下啟用SSH密鑰管理,以防止非托管公鑰并強制實施最佳實踐。
截圖
官網(wǎng):https://github.com/melbahja/goph
Github:https://github.com/melbahja/goph
介紹
這是一個基于Golang開發(fā)的輕量級SSH客戶端程序。
主要功能特性包括:
官網(wǎng):https://docs.ssh-mitm.at/
介紹
SSH-MITM服務(wù)器專為安全審計而設(shè)計,支持公鑰認證、會話劫持和文件篡改等功能。需要注意的是,該工具基于Python語言開發(fā),因此需要在主機設(shè)備上安裝并配置好Python環(huán)境。
SSH-MITM能夠支持密碼和公鑰身份驗證,能夠檢測用戶是否能夠在遠程服務(wù)器上使用公鑰身份驗證登錄。允許SSH-MITM接受與目標服務(wù)器相同的密鑰。如果無法進行公鑰身份驗證,則身份驗證將會退到密碼身份驗證。
Github:https://github.com/billchurch/webssh2
介紹
WebSSH2是一個ssh2、socket.io、xterm.js和express的Web SSH客戶端,是一個基于HTML5 Web的終端仿真器和SSH客戶端的應(yīng)用,通WebSocket/Socket.io連接服務(wù)端的SSH2客戶端代理,再連接到SSH2服務(wù)器。
截圖
一行代碼,可能會創(chuàng)造出下一個讓人驚嘆的產(chǎn)品;
一個創(chuàng)新,可能會開啟一個全新的科技時代;
一份初心,可能會影響到無數(shù)人的生活;
無論是在大公司工作,還是在小團隊奮斗;
無論是資深的程序員,還是剛剛?cè)胄械男率郑?br>每個人的代碼,都有力量改變世界。
創(chuàng)作不易,喜歡的老鐵們加個關(guān)注,點個贊,打個賞,后面會不定期更新干貨和技術(shù)相關(guān)的資訊,速速收藏,謝謝!你們的一個小小舉動就是對小編的認可,更是創(chuàng)作的動力。
創(chuàng)作文章的初心是:沉淀、分享和利他。既想寫給現(xiàn)在的你,也想貪心寫給 10 年、20 年后的工程師們,現(xiàn)在的你站在浪潮之巔,面對魔幻的互聯(lián)網(wǎng)世界,很容易把一條河流看成整片大海。未來的讀者已經(jīng)知道了這段技術(shù)的發(fā)展歷史,但難免會忽略一些細節(jié)。如果未來的工程師們真的創(chuàng)造出了時間旅行機器,可以讓你回到現(xiàn)在。那么小編的創(chuàng)作就是你和當年工程師們的接頭暗號,你能感知到他們在這個時代的鍵盤上留下的余溫。
#文章首發(fā)挑戰(zhàn)賽#
文件管理器中輸入smb://ip/**共享文件夾名**,回車,輸入共享機器的用戶名和密碼即可訪問,如圖:
注:不可直接輸入smb://ip,會有報錯提示,如圖:
a、文件管理器中輸入smb://ip,輸入共享機器的用戶名和密碼,會訪問到共享文件夾所在的目錄(**這是區(qū)別Win7的地方**):
b、如若知道共享文件夾名,直接輸入smb://ip/共享文件夾名,可訪問所需的共享文件:
文件管理器中輸入smb://ip或者smb://ip/共享文件夾名 都可以
注:區(qū)別在于輸入用戶名和密碼,非登陸系統(tǒng)的密碼,而是單獨設(shè)置的共享密碼
首先設(shè)置共享機器的共享密碼,然后訪問時輸入該密碼:
假定文件a.txt 、b.jpg 、c.pdf ,文件夾abc,本地計算機賬號uos,遠程計算機ip10.20.6.48,賬號test
a、從本地復(fù)制文件到遠程計算機命令如下:
scp a.txt test@10.20.6.48:/home/test/abc
b、從遠程計算機復(fù)制文件到本地命令如下:
scp test@10.20.6.48:/home/test/abc/b.jpg /home/uos
c、從本地復(fù)制多個文件到遠程計算機命令如下(多個文件使用空格分開):
scp a.txt c.pdf test@10.20.6.48:/home/test/abc
d、從遠程計算機復(fù)制多個文件到本地命令如下:
scp test@10.20.6.48:/home/test/abc/\{a.txt,b.jpg,c.pdf} /home/uos
e、從本地復(fù)制整個文件夾到遠程計算機命令如下:
scp -r abc test@10.20.6.48:/home/test
f、從遠程主機復(fù)制整個文件夾到本地命令如下:
scp -r test@10.20.6.48:/home/test/abc /home/uos
注:使用scp命令要確保使用的用戶具有可讀取遠程服務(wù)器相應(yīng)文件的權(quán)限,否則scp命令是無法起作用的
由于windows系統(tǒng)本身不支持ssh協(xié)議,所以,要想命令成功執(zhí)行,必須在windows安裝ssh for windows的客戶端軟件,比如winsshd,使windows系統(tǒng)支持ssh協(xié)議才行
winsshd下載地址,https://pc.qq.com/detail/12/detail_91212.html
開啟ssh服務(wù)后,互傳文件的命令與上面相同,此處略
SH轉(zhuǎn)發(fā)對于傳輸使用未加密協(xié)議(如VNC或FTP),訪問地理限制內(nèi)容或繞過中間防火墻的服務(wù)的網(wǎng)絡(luò)數(shù)據(jù)非常有用。 基本上,您可以轉(zhuǎn)發(fā)任何TCP端口并通過安全的SSH連接隧道傳輸流量。
SSH 端口轉(zhuǎn)發(fā)有三種類型:
本地端口轉(zhuǎn)發(fā)。 - 將連接從客戶端主機轉(zhuǎn)發(fā)到 SSH 服務(wù)器主機,然后轉(zhuǎn)發(fā)到目標主機端口。
遠程端口轉(zhuǎn)發(fā)。 - 將端口從服務(wù)器主機轉(zhuǎn)發(fā)到客戶端主機,然后轉(zhuǎn)發(fā)到目標主機端口。
動態(tài)端口轉(zhuǎn)發(fā)。 - 創(chuàng)建 SOCKS 代理服務(wù)器,允許跨一系列端口進行通信。
在本文中,我們將討論如何設(shè)置本地,遠程和動態(tài)加密的 SSH 隧道。
本地端口轉(zhuǎn)發(fā)
本地端口轉(zhuǎn)發(fā)允許您將本地 (ssh 客戶端)計算機上的端口轉(zhuǎn)發(fā)到遠程 (ssh 服務(wù)器)計算機上的端口,然后將其轉(zhuǎn)發(fā)到目標計算機上的端口。
在這種類型的轉(zhuǎn)發(fā)中, SSH 客戶端偵聽給定端口,并將與該端口的任何連接隧道連接到遠程 SSH 服務(wù)器上的指定端口,然后該端口連接到目標計算機上的端口。目標計算機可以是遠程 SSH 服務(wù)器或任何其他計算機。
本地端口轉(zhuǎn)發(fā)主要用于連接內(nèi)部網(wǎng)絡(luò)(如數(shù)據(jù)庫或 VNC 服務(wù)器)上的遠程服務(wù)。
在 Linux , macOS 和其他 Unix 系統(tǒng)中創(chuàng)建本地端口轉(zhuǎn)發(fā)將 -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 用戶和服務(wù)器 IP 地址。
LOCAL_PORT 可以使用任何大于 1024 的端口號。端口號小于 1024 特權(quán)端口,只能由 root 用戶使用。如果您的 SSH 服務(wù)器正在偵聽 22 以外的端口(默認值),請使用該 -p [PORT_NUMBER] 選項。
目標主機名必須可從 SSH 服務(wù)器解析。
假設(shè)您在內(nèi)部(專用)網(wǎng)絡(luò)上的計算機 db001.host 上運行 MySQL 數(shù)據(jù)庫服務(wù)器,在端口 3306 上可以從計算機訪問,并且您希望使用本地計算機 pub001.host 上的 mysql 客戶端連接到數(shù)據(jù)庫服務(wù)器。為此,您可以轉(zhuǎn)發(fā)連接,如下所示:
ssh -L 3336:db001.host:3306 user@pub001.host
運行該命令后,系統(tǒng)將提示您輸入遠程 SSH 用戶密碼。輸入后,您將登錄遠程服務(wù)器并建立 SSH 隧道。建立基于 SSH 密鑰的身份驗證連接到服務(wù)器而不輸入密碼是更好的選擇。
現(xiàn)在,如果您將本地計算機數(shù)據(jù)庫客戶端指向 127.0.0.1:3336 ,則連接將 db001.host:3306 通過 pub001.host 將充當中間服務(wù)器的計算機轉(zhuǎn)發(fā)到 MySQL 服務(wù)器。
您可以在單個 ssh 命令中將多個端口轉(zhuǎn)發(fā)到多個目標。例如,您在計算機上運行另一個 MySQL 數(shù)據(jù)庫服務(wù)器, db002.host 并且您希望從您將運行的本地客戶端連接到兩個服務(wù)器:
ssh -L 3336:db001.host:3306 3337:db002.host:3306 user@pub001.host
要連接到您將使用的第二臺服務(wù)器 127.0.0.1:3337 。
目標主機與 SSH 服務(wù)器相同時,而不是指定可以使用的目標主機 IP 或主機名 localhost 。
假設(shè)您需要通過在同一服務(wù)器上運行的 VNC 連接到遠程計算機,并且無法從外部訪問它。您將使用的命令是:
ssh -L 5901:127.0.0.1:5901 -N -f user@remote.host
該 -f 選項告訴 ssh 命令在后臺運行而 -N 不是執(zhí)行遠程命令。我們正在使用, localhost 因為 VNC 和 SSH 服務(wù)器在同一主機上運行。
如果您在設(shè)置隧道時遇到問題,請檢查遠程 SSH 服務(wù)器配置并確保 AllowTcpForwarding 未設(shè)置為 no 。默認情況下,允許轉(zhuǎn)發(fā)。
遠程端口轉(zhuǎn)發(fā)
遠程端口轉(zhuǎn)發(fā)與本地端口轉(zhuǎn)發(fā)相反。它允許您將遠程 (ssh 服務(wù)器)計算機上的端口轉(zhuǎn)發(fā)到本地 (ssh 客戶端)計算機上的端口,然后將其轉(zhuǎn)發(fā)到目標計算機上的端口。
在這種類型的轉(zhuǎn)發(fā)中, SSH 服務(wù)器偵聽給定端口,并將與該端口的任何連接隧道連接到本地 SSH 客戶端上的指定端口,然后該端口連接到目標計算機上的端口。目標計算機可以是本地計算機或任何其他計算機。
在 Linux , macOS 和其他 Unix 系統(tǒng)中創(chuàng)建遠程端口轉(zhuǎn)發(fā)將 -R 選項傳遞給 ssh 客戶端:
ssh -R [REMOTE:]REMOTE_PORT:DESTINATION:DESTINATION_PORT [USER@]SSH_SERVER
使用的選項如下:
[REMOTE:]REMOTE_PORT - 遠程 SSH 服務(wù)器上的 IP 和端口號。空 REMOTE 表示遠程 SSH 服務(wù)器將在所有接口上綁定。
DESTINATION:DESTINATION_PORT - 目標計算機的 IP 或主機名和端口。
[USER@]SERVER_IP - 遠程 SSH 用戶和服務(wù)器 IP 地址。
本地端口轉(zhuǎn)發(fā)主要用于從外部向某人提供對內(nèi)部服務(wù)的訪問。
假設(shè)您正在本地計算機上開發(fā) Web 應(yīng)用程序,并且希望向其他開發(fā)人員顯示預(yù)覽。您沒有公共 IP ,因此其他開發(fā)人員無法通過 Internet 訪問該應(yīng)用程序。
如果您可以訪問遠程 SSH 服務(wù)器,則可以按如下方式設(shè)置遠程端口轉(zhuǎn)發(fā):
ssh -L 8080:127.0.0.1:3000 -N -f user@remote.host
上面的命令將使 ssh 服務(wù)器偵聽端口 8080 并將從該端口到端口的本地計算機的所有流量隧道傳輸 3000 。現(xiàn)在您的開發(fā)人員可以輸入 the_ssh_server_ip:8080 他/她的瀏覽器并預(yù)覽您的應(yīng)用程序。如果您有麻煩設(shè)置遠程端口轉(zhuǎn)發(fā),確保 GatewayPorts 被設(shè)置為 yes 在遠程 SSH 服務(wù)器配置。
動態(tài)端口轉(zhuǎn)發(fā)
動態(tài)端口轉(zhuǎn)發(fā)允許您在充當 SOCKS 代理服務(wù)器的本地 (ssh 客戶端)計算機上創(chuàng)建套接字。當客戶端連接到此端口時,連接將轉(zhuǎn)發(fā)到遠程 (ssh 服務(wù)器)計算機,然后將其轉(zhuǎn)發(fā)到目標計算機上的動態(tài)端口。
這樣,使用 SOCKS 代理的所有應(yīng)用程序?qū)⑦B接到 SSH 服務(wù)器,服務(wù)器將所有流量轉(zhuǎn)發(fā)到其實際目的地。
在 Linux , macOS 和其他 Unix 系統(tǒng)中創(chuàng)建動態(tài)端口轉(zhuǎn)發(fā) (SOCKS) 將 -D 選項傳遞給 ssh 客戶端:
ssh -R [LOCAL_IP:]LOCAL_PORT [USER@]SSH_SERVER
使用的選項如下:
[LOCAL_IP:]LOCAL_PORT - 本地機器的 ip 和端口號。當 LOCAL_IP 省略 SSH 客戶端結(jié)合在本地主機。
[USER@]SERVER_IP - 遠程 SSH 用戶和服務(wù)器 IP 地址。
動態(tài)端口轉(zhuǎn)發(fā)的典型示例是通過 SSH 服務(wù)器隧道傳輸 Web 瀏覽器流量。
以下命令將在端口上創(chuàng)建 SOCKS 隧道 9090 :
ssh -D 9090 -N -f user@remote.host
建立隧道后,您可以配置應(yīng)用程序以使用它。本文介紹如何配置 Firefox 和 Google Chrome 瀏覽器以使用 SOCKS 代理。必須為要對其進行隧道傳輸?shù)拿總€應(yīng)用程序單獨配置端口轉(zhuǎn)發(fā)。
在 Windows 中設(shè)置 SSH 隧道
Windows 用戶可以使用 PuTTY SSH 客戶端創(chuàng)建 SSH 隧道。你可以在這里下載 PuTTY 。
啟動 Putty 并在 Host name (or IP address) 字段中輸入 SSH 服務(wù)器 IP 地址。
在 Connection 菜單下,展開 SSH 并選擇 Tunnels 。檢查 Local 單選按鈕以設(shè)置本地, Remote 遠程和 Dynamic 動態(tài)端口轉(zhuǎn)發(fā)。
如果設(shè)置本地轉(zhuǎn)發(fā),請在該 Source Port 字段中 Destination 輸入本地轉(zhuǎn)發(fā)端口,然后輸入目標主機和 IP ,例如 localhost:5901 。
對于遠程端口轉(zhuǎn)發(fā),請在該 Source Port 字段中 Destination 輸入遠程 SSH 服務(wù)器轉(zhuǎn)發(fā)端口,然后輸入目標主機和 IP ,例如 localhost:3000 。
如果設(shè)置動態(tài)轉(zhuǎn)發(fā),則僅輸入 Source Port 字段中的本地 SOCKS 端口。
單擊 Add 按鈕,如下圖所示。
返回 Session 頁面以保存設(shè)置,這樣您每次都不需要輸入它們。在 Saved Session 字段中輸入會話名稱,然后單擊 Save 按鈕。
選擇已保存的會話,然后單擊 Open 按鈕登錄遠程服務(wù)器。
將顯示一個詢問您的用戶名和密碼的新窗口。輸入用戶名和密碼后,您將登錄到服務(wù)器并啟動 SSH 隧道。
設(shè)置公鑰驗證將允許您在不輸入密碼的情況下連接到服務(wù)器。
總結(jié)
我們已經(jīng)向您展示了如何設(shè)置 SSH 隧道并通過安全的 SSH 連接轉(zhuǎn)發(fā)流量。為了便于使用,您可以在 SSH 配置文件中定義 SSH 隧道,或創(chuàng)建將設(shè)置 SSH 隧道的 Bash 別名
轉(zhuǎn)自:https://www.linuxprobe.com/set-ssh-tunel.html
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。