网站黄色在线观看视频,男人和女人操逼有免费的视频吗2018高清,91熟女丨老女人丨高潮丰满,丝袜高潮流白浆潮喷在线播放

中國站

中國站

國際版

聯(lián)系我們

400-002-9968

售前咨詢

售后服務(wù)

注冊 登錄

博客 > 安全外殼協(xié)議:什么是SSH?

安全外殼協(xié)議:什么是SSH?

  • 標(biāo)簽:
  • SSH
  • 安全協(xié)議

瀏覽量:8351次評論:0次

作者:Claire時間:2019-09-06 03:41:57


安全外殼協(xié)議,或SSH是一個加密協(xié)議,主要用于保護(hù)遠(yuǎn)程命令行界面的外殼訪問。


近來,一兩個同事無意中聽到另一個同事和我談到了SSH (Secure Shell)以及SSH正在連接到我們的新服務(wù)器上。當(dāng)然,當(dāng)另一個與IT相關(guān)的首字母縮寫詞被拋出時,總會有一些困惑。因此,幾周,也許幾個月后(時間很難追蹤),我被要求進(jìn)一步闡述這個主題并回答這個問題:SSH是什么?


因此,這就是我為那些不知道SSH的人所編寫的、對安全外殼的頌歌(它不會是任何藝術(shù)散文)。許多技術(shù)世界之外的人可能沒有意識到SSH和shelling在我們?nèi)粘5募夹g(shù)生活中是多么常用和重要,事實(shí)也確實(shí)如此??傊?,本文將探究SSH和shelling,并復(fù)習(xí)一些包含SSH和安全外殼的技術(shù)方面的內(nèi)容。


什么是外殼?


你可能知道什么是外殼。它們可以保護(hù)海龜、蝸牛、螃蟹等不受事物對其內(nèi)部口味的影響。這個欺善怕惡的帶有長釘?shù)乃{(lán)色外殼可以阻擋住外部的事物?;蛘?,在糖果的例子中,它們可以增強(qiáng)內(nèi)部的口味。



因此,如果在你的邏輯思維中,認(rèn)為在計(jì)算機(jī)的世界里,外殼就是一個遮蓋某物的遮蓋物,那么你就差的不太遠(yuǎn)。就計(jì)算機(jī)和軟件而言,shell為操作系統(tǒng)的外殼,為用戶提供了使用操作系統(tǒng)的用戶界面(盡管確切的定義還有待討論,但我認(rèn)為只是語義表達(dá)上有所不同而已)。操作系統(tǒng)是用來協(xié)調(diào)和控制計(jì)算機(jī)的所有不同部分的,因此它可以使我們對其所需的所有不同的功能和軟件變得更加便利。


實(shí)際上,你可能每天都在和shell打交道:我們用來控制計(jì)算機(jī)、電話、平板電腦等的漂亮的圖形界面就是shell的一種。這包括Windows 10、iOS 12、Android 8.0 Oreo等操作系統(tǒng)。在高級別上,你可以將操作系統(tǒng)分解成兩部分:我們都熟悉的用戶界面部分,以及在幕后完成大量我們認(rèn)為是理所當(dāng)然的重任的、底層操作系統(tǒng)框架內(nèi)部的好的東西。這些界面被設(shè)計(jì)為對用戶是非常友好的(盡管我們中的許多人每天都在與它們較勁)。相信我,你可能對Windows或蘋果有疑慮,但如果我們必須使用另一種利用率很高的shell:命令行接口(CLI),它要直觀得多。



有些人喜歡命令行界面(CLI)(堅(jiān)持與計(jì)算機(jī)進(jìn)行直接的交流,以作為對抗個人生活中無盡的孤獨(dú)的堡壘),而有些適應(yīng)能力強(qiáng)的人則對此感到害怕。許多事情只能在CLI本機(jī)中進(jìn)行。大多數(shù)操作系統(tǒng)都提供了一個圖形化的用戶界面(GUI,發(fā)音為gooey,拜托,你也知道,這是為數(shù)不多的好的gooey shell之一——通常它只是意味著你踩到了一只烏龜)。所有操作系統(tǒng)(據(jù)我所知)都提供某種CLI。


Windows有DOS和Powershell。Linux是Unix的GUI版本的一個通用術(shù)語(通用的原因是Linux/Unix有很多“口味”——但是它多變的創(chuàng)造者Linus Torvalds只有一種口味:咸)。我已經(jīng)習(xí)慣了Bourne Shell,或者BASH,因?yàn)檫@是所有Unix系統(tǒng)中我最喜歡的Shell——它開始有點(diǎn)粗糙,但在它找到了上帝之后,它真的扭轉(zhuǎn)了局面。它是最常用且針對我的需求相當(dāng)有效的,但還有其他可供選擇的選項(xiàng),包括但不限于:



  • Ksh – Korn Shell

  • Zsh – Z Shell

  • Fish – Friendly Interactive Shell

  • Tcsh – Has syntax similar to the programming language C


需要考慮的一個重要的事是,并不是所有的計(jì)算機(jī)都有GUI。事實(shí)上,我認(rèn)為許多服務(wù)器都沒有GUI。為什么?考慮一下服務(wù)器的功能就知道了。服務(wù)器為客戶服務(wù)。每天許多人都會使用到客戶端/服務(wù)器關(guān)系:在線銀行、Facebook、FortNite等。在最常見的場景中,服務(wù)器從客戶端機(jī)器獲取數(shù)據(jù),處理它,然后再將信息返回到客戶端。服務(wù)器可能需要交互來調(diào)整設(shè)置、更新數(shù)據(jù)或一般的管理(清除緩存、刪除未使用/不需要的數(shù)據(jù)),但通常,一旦服務(wù)器投入生產(chǎn),用戶便不會在上面花費(fèi)太多的時間。


因此,通常GUI是不需要的,因?yàn)樗鼈兛赡苷加孟到y(tǒng)資源并導(dǎo)致不必要的開銷。這并不是說服務(wù)器永遠(yuǎn)不需要GUI,但是大多數(shù)事情都可以通過自動化流程、shell腳本或者手動運(yùn)行shell命令來完成。


因此,什么是SSH?


有時候,我們的服務(wù)器是本地的。我們可以根據(jù)需要插入鍵盤、鼠標(biāo)以及監(jiān)視和控制服務(wù)器。如今,最為常見和有效的是,許多服務(wù)器都位于colo(協(xié)同定位設(shè)備,大量的服務(wù)器托管在一個合適的環(huán)境中,具有冷卻、數(shù)據(jù)吞吐量、物理安全性等)中,或者像AWS或微軟Azure那樣虛擬化服務(wù)器。因此,在沒有對shell的物理訪問權(quán)限的情況下,我們也可以使用Secure Shell。



SSH能夠使用加密的網(wǎng)絡(luò)連接來連接到服務(wù)器,并允許用戶遠(yuǎn)程向服務(wù)器發(fā)送shell命令,并讓它們執(zhí)行,就好像他們在服務(wù)器旁邊一樣。它是Telnet的一個改進(jìn),而后者在本質(zhì)上做的是同樣的事情,但沒有使用加密連接。Telnet以明文的形式出現(xiàn)。在這個類比中,Telnet就像是HTTP到SSH的HTTPS一樣。在當(dāng)今這個時代,它大多已被摒棄了。


現(xiàn)在,當(dāng)我說到服務(wù)器時,讓我澄清一點(diǎn):只要有一個SSH服務(wù)器實(shí)例在那臺機(jī)器上運(yùn)行,任何計(jì)算機(jī)都可以被SSH連接到。大多數(shù)服務(wù)器操作系統(tǒng)都至少安裝了一個SSH服務(wù)器實(shí)例,只需進(jìn)行一些設(shè)置就可以激活它。但是,即使是你的家庭計(jì)算機(jī)從技術(shù)上來說可以運(yùn)行SSH服務(wù)器并通過安全的shell客戶端訪問(假設(shè)其他安全進(jìn)程,如防火墻或殺毒程序允許進(jìn)行連接)。


我可以如何進(jìn)行SSH連接?


因此,一臺運(yùn)行了SSH服務(wù)器實(shí)例的服務(wù)器可以讓客戶端機(jī)器連接到它。PuTTY是一個常用的SSH應(yīng)用程序。許多人都在使用它。SSH功能可以被配置到環(huán)境變量中,并通過DOS/Powershell運(yùn)行,或者SSH還可以被配置到macOS的終端中,而后者我相信將會使用bash作為默認(rèn)設(shè)置,但也將支持其他的shell。在這篇文章中,我將會參考PuTTY,因?yàn)樗欠浅:唵魏陀心芰Φ摹?/p>


基于密鑰/證書的生成和身份驗(yàn)證


在我們開始設(shè)置安全的shell會話之前,讓我們先看一下提供身份驗(yàn)證并為會話添加yuuuuuuuge安全層的用戶的密鑰生成。大多數(shù)人都知道密鑰對包括公鑰和私鑰。用戶將擁有屬于他們自己的私鑰,并且只有他們才有,他們還擁有一個其他人可以使用的附帶的公鑰。在使用SSH時,公鑰將保存在服務(wù)器上,并位于用戶配置文件的子文件夾中,同時用戶將擁有附帶的私鑰。用戶將使用私鑰登錄,因此便不再需要用戶密碼。服務(wù)器基本上是在說,“我是看門人。只有密鑰主人才可以訪問。你是密鑰主人嗎?



如果用戶有密鑰,他們基本上就會說:“我是Vinz, Vinz Clortho, Gozer的密鑰主人。”Volguus Zildrohar, Sebouillia的主人。”


有很多方法可以創(chuàng)建這樣的密鑰對。這里我將介紹其中的兩種方法:


首先,通過對服務(wù)器的訪問,無論是物理訪問還是通過不同的用戶訪問,SSH密鑰對都可以在服務(wù)器上生成。下面這種生成的圖像看起來的樣子(帶有命令):




  • 開始生成的命令是:


       ssh - keygen - t rsa


       記住,這來自于相關(guān)的用戶目錄,在我們的示例中是:rthomas



  • 當(dāng)系統(tǒng)詢問把密鑰保存在哪個文件下時,它將默認(rèn)保存到當(dāng)前用戶的. ssh文件夾(公鑰應(yīng)該在這里)下。按“回車”鍵選擇這一設(shè)置。

  • 接下來的兩行是一個密碼。我建議使用密碼作為額外的安全層,但這當(dāng)然取決于用戶。

  • 瀏覽到用戶的.ssh目錄后,我們就可以看到這兩個文件。在私鑰的目錄中是沒有擴(kuò)展的。最好將其保存在本地機(jī)器上并從服務(wù)器上刪除。


其次,如前所述,PuTTY是用于SSH的最流行的獨(dú)立應(yīng)用程序之一。通常會有一個附帶的(顯然我現(xiàn)在很喜歡這個詞)軟件來創(chuàng)建一個公鑰/私鑰對。它被稱為PuTTYGen。以下是它的啟動情況:



通過選擇生成按鈕,應(yīng)用程序?qū)嶋H上會要求你在那個按鈕上方的大的灰色空間中隨機(jī)移動鼠標(biāo)。這有點(diǎn)像是一種游戲。這些動作用于生成密鑰對。



在這里,你可以選擇添加密碼短語(強(qiáng)烈推薦),然后可以選擇保存私鑰和公鑰:



然后,與前面的方法一樣,你將需要把公鑰保存在服務(wù)器上目標(biāo)用戶的.ssh文件夾中。你可以使用FTP、SCP,或嘗試將公共文件復(fù)制粘貼到服務(wù)器上的一個新文件中。


服務(wù)器端設(shè)置


本節(jié)可能會涉及很多方面。讓我們來看一種用于SSH的服務(wù)、身份驗(yàn)證和安全性的通用方法。


正如前面提到的,SSH旨在訪問計(jì)算機(jī)系統(tǒng)的CLI shell。在某種意義上,你是該系統(tǒng)的用戶,但是來自“遠(yuǎn)程”位置。因此,了解你將成為哪種連接到SSH的用戶是很重要的。擁有用戶憑證是一件重要的事情,但是你還需要知道該用戶的角色和權(quán)限。


SSH的默認(rèn)端口是22。可以將其指定為任何類型,但在為服務(wù)器端SSH服務(wù)分配不同的端口時要小心,因?yàn)閷⒁粋€眾所周知的端口分配給SSH肯定會毀掉另一個服務(wù)或進(jìn)程。使用默認(rèn)端口,或者,如果需要,使用動態(tài)端口。盡管如此,我還是建議使用眾所周知的端口22,并使用用戶身份驗(yàn)證和防火墻規(guī)則(例如,指定有效的源IP地址)來保護(hù)系統(tǒng)。


服務(wù)器的IP地址/主機(jī)名也必須是已知的。服務(wù)器可能位于公共位置,因此它有一個公共的IP地址?;蛘?,服務(wù)器可能位于防火墻之后,需要使用VPN或端口轉(zhuǎn)發(fā)等來連接到系統(tǒng)。一個好的實(shí)踐是白名單特定IP地址,你知道這些白名單IP地址將使用SSH協(xié)議,并拒絕所有其他的IP地址使用SSH。


例如,在亞馬遜網(wǎng)絡(luò)服務(wù)(Amazon Web Services)中,有一個與VPC(網(wǎng)絡(luò)配置文件)相關(guān)聯(lián)的安全組配置文件,它能夠幫助定義防火墻和路由服務(wù)。安全組可以根據(jù)協(xié)議和端口指定這些規(guī)則。下面是一個示例:



可以使用兩種方式在基于Linux的機(jī)器上檢查狀態(tài)。這取決于你是否使用的是SysVInit或SystemD??梢允褂孟旅娴拿顧z查狀態(tài):


sudo systemctl status ssh



sudo /etc/init.d ssh status



在基于Linux的機(jī)器上,在啟動時啟用ssh,這樣因?yàn)樗偸翘幱诖蜷_狀態(tài),便可以確保你能夠連接,即使有中斷或服務(wù)器升級事件發(fā)生。在新版的、使用了SystemD(任何新的服務(wù)器都可能會)的Linux上,為了確保SSH能夠在重新啟動后運(yùn)行,可以輸入以下命令:


sudo systemctl enable ssh


客戶端設(shè)置


本節(jié)也有幾種方法,但假設(shè)我們希望使用GUI來進(jìn)行SSH連接吧。同樣,PuTTY是一個非常受歡迎的低開銷軟件,在任何平臺上都非常有用/兼容??蛻舳松系恼w概念非常簡單:將必要的參數(shù)配置到SSH,并且如果你希望在服務(wù)器的生命周期中執(zhí)行多個會話,則保存該配置文件。下面是PuTTY的初始窗口的截圖:



你可以看到有很多選項(xiàng)。但是,大多數(shù)默認(rèn)設(shè)置都允許進(jìn)行SSH會話。一些快速而必要的東西是:



  • 主機(jī)名或IP地址是必需的。

  • 需要指定端口。記住,端口22是默認(rèn)端口。

  • 身份驗(yàn)證部分用于(私有)密鑰的身份驗(yàn)證。上一節(jié)介紹了如何生成私鑰。在這里你可以指定私鑰的位置(理想情況下在本地計(jì)算機(jī)上)。

  • 在第一個PuTTY圖像中,你可以對配置文件進(jìn)行配置,然后保存它以備將來使用。你可以選擇配置文件并加載它以再次調(diào)用這些連接設(shè)置。



關(guān)于連接需要注意的另一件事是,一旦你執(zhí)行了會話,系統(tǒng)就會提示用戶提供身份驗(yàn)證。通過將目標(biāo)SSH服務(wù)器作為前綴加在用戶前面,用戶的輸入提示便可以繞過,[email protected]


好的,我進(jìn)來了?,F(xiàn)在該怎么辦?


首先,恭喜你。


其次:這取決于你想做什么……


從這里,你可以去任何你選擇的方向。需要使用Apache之類的東西設(shè)置web服務(wù)器嗎?寫一個類似WordPress的博客怎么樣?這取決于你的情況。如果你是新手,并且我假設(shè)你是新手,因?yàn)闆]有經(jīng)驗(yàn)的人不會知道如何進(jìn)行SSH連接,那么我肯定會制定一個計(jì)劃。你可能需要學(xué)習(xí)一些CLI命令來導(dǎo)航并執(zhí)行你可能感興趣的任何功能。


這里還有一條建議:在基于Linux/Unix的系統(tǒng)中,權(quán)限在做任何事情時都扮演著非常重要的角色。僅僅因?yàn)橐粋€用戶/組有做某事的權(quán)限,就不要假設(shè)其他用戶/組有相同的權(quán)限。許多事情都可能因?yàn)闄?quán)限而失敗。事實(shí)上,我所學(xué)到的是,在遇到大多數(shù)問題時,首先要考慮權(quán)限,因?yàn)樗3J亲锟準(zhǔn)住?/p>


和往常一樣,在使用SSH時,我將牢記安全。本文中提到的一些安全實(shí)踐將確保安全連接,因此你的安全shell會話便能夠產(chǎn)生一些有效的結(jié)果。


我們希望你能有所收獲。要安全、小心一點(diǎn)。某些操作可能導(dǎo)致SSH崩潰,從而導(dǎo)致對機(jī)器的訪問中斷,特別是在虛擬化環(huán)境中,然后你就必須執(zhí)行可怕的恢復(fù)操作或掛載到另一個服務(wù)器實(shí)例上。呀!

我的評論

還未登錄?點(diǎn)擊登錄

微信掃碼溝通
微信掃碼溝通

微信掃碼溝通

AI
return head