安全通信是每個(gè)組織的首要任務(wù)之一,因?yàn)橹饕蝿?wù)是通過網(wǎng)絡(luò)將數(shù)據(jù)從一個(gè)設(shè)備傳輸?shù)搅硪粋(gè)設(shè)備來完成的。因此,正在實(shí)施各種策略以確保完全安全,以在傳輸時(shí)保持?jǐn)?shù)據(jù)的完整性。一些公司致力于處理需要保護(hù)的關(guān)鍵數(shù)據(jù),因此他們制定了一些規(guī)則以通過互聯(lián)網(wǎng)與其他設(shè)備進(jìn)行通信。
因此,SSH(安全外殼)作為傳統(tǒng) telnet 協(xié)議的擴(kuò)展出現(xiàn)。然而,telnet 不是那么安全,因此隨著時(shí)間的推移被 ssh 取代。如果您是系統(tǒng)管理員,那么您肯定使用過 ssh。但是,如果您不知道該術(shù)語,那么通過本文您將獲得足夠的關(guān)于 ssh 的知識。在本文中,我們將重點(diǎn)介紹 SSH,它的工作原理、用途以及如何更改默認(rèn) SSH 端口。
什么是SSH端口?
使用 ssh 完成的每個(gè)通信都需要端口來連接和啟動通信。無論設(shè)備是有線還是無線,都需要端口。有超過 65k 個(gè)可用的通信端口,您可以使用這些端口中的任何一個(gè)開始通信。默認(rèn)情況下,所有通信都是使用 SSH 端口號 22 完成的,該端口號可以更改并設(shè)置為任何其他可用端口號。每當(dāng)用戶運(yùn)行命令啟動兩個(gè)設(shè)備之間的網(wǎng)絡(luò)通信時(shí),連接將使用端口號 22。
但是,如果您正在執(zhí)行任何需要安全的關(guān)鍵通信,建議您將默認(rèn) SSH 端口號更改為其他以避免暴力攻擊。眾所周知,22 是默認(rèn)的 SSH 端口號,最容易受到攻擊,任何黑客都可以輕松破解您傳輸?shù)臄?shù)據(jù)。使用ssh端口,可以實(shí)現(xiàn)SSH協(xié)議。SSH 或 Secure Shell 是一種用于遠(yuǎn)程訪問服務(wù)器的網(wǎng)絡(luò)協(xié)議。它為您提供了一種安全的方式來遵守任何類型的不安全網(wǎng)絡(luò)上的設(shè)備。這不僅僅是關(guān)于安全服務(wù);它還指幫助實(shí)現(xiàn) SSH 協(xié)議的實(shí)用程序包。
SSH協(xié)議特點(diǎn)
有很多與 SSH 相關(guān)的功能。讓我們潛入吧!
1.SSH 自帶強(qiáng)密碼認(rèn)證、加密數(shù)據(jù)通信和公鑰認(rèn)證
2.它用于遠(yuǎn)程管理系統(tǒng)和應(yīng)用程序,并允許其他人遠(yuǎn)程使用設(shè)備并執(zhí)行多項(xiàng)功能
3.它是一種加密網(wǎng)絡(luò)協(xié)議,使用客戶端/服務(wù)器模型
4.您也可以為不同的應(yīng)用程序協(xié)議創(chuàng)建安全隧道。應(yīng)用程序協(xié)議進(jìn)一步用于終端仿真或傳輸文件
5.轉(zhuǎn)發(fā)端口
讓我們深入了解SSH的工作機(jī)制!
SSH 是如何工作的?
SSH 協(xié)議在客戶端-服務(wù)器模型中工作,其中一臺設(shè)備作為服務(wù)器,另一臺設(shè)備作為客戶端。SSH 客戶端將建立連接過程,并使用公鑰密碼術(shù)來驗(yàn)證 SSH 服務(wù)器的身份。建立連接后,SSH 協(xié)議將使用強(qiáng)對稱加密和散列算法來確保在客戶端和服務(wù)器之間傳輸?shù)臄?shù)據(jù)的隱私性和完整性。在研究 SSH 協(xié)議的過程中,我們將討論發(fā)生的各個(gè)步驟。
1.建立 SSH 連接。
2.會話加密協(xié)商。
3.用戶認(rèn)證。
建立 SSH 連接
要創(chuàng)建 SSH 連接,您需要從客戶端機(jī)器運(yùn)行命令,如下所示。ssh [用戶名]@[server_ip_or_hostname]
一旦命令運(yùn)行會話加密協(xié)商過程將開始。
會話加密協(xié)商
一旦請求被發(fā)送到服務(wù)器,服務(wù)器就會向客戶端發(fā)送一組服務(wù)器支持的加密協(xié)議。然后服務(wù)器將使用公鑰作為身份驗(yàn)證方法?蛻舳藢⒎⻊(wù)器的協(xié)議集與自己的協(xié)議集進(jìn)行匹配,如果協(xié)議匹配,則雙方機(jī)器將同意建立連接并開始數(shù)據(jù)傳輸。
客戶端在第一次建立連接時(shí)會將服務(wù)器的公鑰與本地存儲的私鑰進(jìn)行比較。如果兩個(gè)密鑰匹配,客戶端和服務(wù)器將在 SSH 會話期間啟動對稱加密方法進(jìn)行通信。為了進(jìn)行這種通信,他們將開始使用非對稱加密過程進(jìn)行通信,該過程適用于 Diffie-Hellman (DH) 密鑰交換算法,以通過公共網(wǎng)絡(luò)安全地創(chuàng)建加密密鑰。為了生成密鑰,機(jī)器將執(zhí)行以下步驟:
1.兩臺機(jī)器將就兩個(gè)數(shù)字達(dá)成一致,即模數(shù)和基數(shù)。如果要防止暴力密鑰解密,則需要選擇模數(shù)作為至少 600 位的質(zhì)數(shù)。
2.機(jī)器將單獨(dú)選擇一個(gè)數(shù)字并將其應(yīng)用于將涉及兩個(gè)公共數(shù)字的等式。
3.然后服務(wù)器和客戶端將交換這些計(jì)算值。
4.然后每臺機(jī)器將根據(jù)從另一臺機(jī)器收到的結(jié)果執(zhí)行計(jì)算。
在此過程之后,將生成一個(gè)共享密鑰,該密鑰將在兩個(gè)設(shè)備之間共享。
用戶認(rèn)證
最常用的 SSH 用戶身份驗(yàn)證方法是密碼和 SSH 密鑰?蛻舳藢⒓用艿拿艽a安全地發(fā)送到服務(wù)器。但是,在某些情況下,密碼被認(rèn)為是一種有風(fēng)險(xiǎn)的身份驗(yàn)證方法,因?yàn)槊艽a的強(qiáng)度取決于用戶創(chuàng)建密碼的方式。雖然使用非對稱加密的 SSH 公私密鑰對被認(rèn)為是比密碼更好的選擇?蛻舳私饷芟⒑,服務(wù)器將授予所需系統(tǒng)對客戶端的訪問權(quán)限要生成 SSH 密鑰對,您需要在終端中鍵入 ssh-keygen。然后,系統(tǒng)將生成并存儲如下所示的密鑰。
引入了 SSH 以更新不安全的終端仿真,例如rlogin 或 Telnet。SSH 以更高的靈活性和舒適性執(zhí)行相同的功能。不僅如此,它還取代了幾個(gè)文件傳輸程序。例如,F(xiàn)TP(文件傳輸協(xié)議)和 RCP(遠(yuǎn)程復(fù)制)。SSH 的主要目的是在終端會話的情況下連接遠(yuǎn)程主機(jī)。您使用以下命令來完成任務(wù):ssh UserName@SSHserver.example.com這個(gè)命令有什么作用?好吧,這個(gè)命令將幫助客戶端連接到服務(wù)器。
SSH 的使用
1.默認(rèn)情況下,您將獲得MAC、Windows 和 Unix 操作系統(tǒng)的SSH 終端
2.借助遠(yuǎn)程主機(jī)和本地機(jī)器之間的 SSH 連接,可以保護(hù)各種通信
3.它還用于管理路由器、虛擬化平臺、服務(wù)器硬件、文件傳輸應(yīng)用程序等
4.也可以連接服務(wù)器,使用工具或終端上傳退出
5.SSH 密鑰帶有 SSO 或單點(diǎn)登錄,可幫助用戶在帳戶之間移動而無需每次都插入密碼
此外,它在訪問管理和身份管理方面發(fā)揮著重要作用。SSH 流量也是高度加密的。它還可以幫助您在多個(gè)遠(yuǎn)程設(shè)備上安全地發(fā)出命令。您可以期待安全和自動化的文件傳輸。與此同時(shí),請確保您的網(wǎng)絡(luò)基礎(chǔ)設(shè)施組件的安全管理。簡而言之,SSH 廣泛用于腳本和其他幾種軟件中,以安全地遠(yuǎn)程訪問數(shù)據(jù)和資源。現(xiàn)在,讓我們將重點(diǎn)放在我們的核心主題上,即 SSH 默認(rèn)端口。
什么是默認(rèn) SSH 端口號?
正如我們上面所討論的,每次通信都將使用默認(rèn)的 SSH 端口號 22 來完成。這個(gè)端口被認(rèn)為對于執(zhí)行關(guān)鍵傳輸是不安全的,因?yàn)槊總(gè)人都知道默認(rèn)的 [端口號是 22。它我們將默認(rèn)端口號更改為其他端口以避免暴力攻擊是明智之舉。有線和無線機(jī)器之間的連接是通過端口進(jìn)行的。總共有65,536個(gè)通信端口。此外,默認(rèn)情況下,用于通信的 SSH 端口號為 22。
每當(dāng)您通過默認(rèn) SSH 端口號 22 運(yùn)行命令時(shí),就會在客戶端和服務(wù)器之間建立連接,F(xiàn)在每個(gè)連接都通過此端口初始化。此外,出于安全目的,有幾種情況需要更改默認(rèn)的 SSH 端口號。安全措施對于保護(hù)服務(wù)器免受暴力攻擊變得必要。當(dāng)我們談?wù)撔U力攻擊時(shí),它是一種錯(cuò)誤方法,以破解不正確的數(shù)據(jù)。例如,通過詳盡的努力而不是算法來找出密碼;旧鲜侵盖么颍钡狡平鉃橹。另外,很明顯,22端口是默認(rèn)的通信端口,因此未經(jīng)授權(quán)的一方更容易訪問數(shù)據(jù)。當(dāng)您將此端口切換到其他端口時(shí),黑客必須嘗試其他幾個(gè)端口才能最終找到一個(gè)開放端口。因此,要想將任何黑客拒之門外,可以采取這一步。但是,問題是,更改默認(rèn) SSH 端口的方法是什么?
如何更改默認(rèn) SSH 端口
要更改默認(rèn) SSH 端口,您必須編輯 sshd_config 文件。此外,保留文件備份始終是一個(gè)不錯(cuò)的選擇。首先使用此命令創(chuàng)建備份:
ubuntu@ubuntu:~$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup
此命令在同一目錄中創(chuàng)建文件的副本。下一步是更改默認(rèn)的 SSH 端口。在任何編輯器中打開 ssh_config 文件。現(xiàn)在,輸入以下命令:
ubuntu@ubuntu:~$ gedit /etc/ssh/sshd_config
執(zhí)行此命令后,上述文件將在文本編輯器中打開。在代碼中搜索這一行:
#Port 22
現(xiàn)在,假設(shè)您想將端口號更改為 45673。為此,只需刪除井號 (#) 并插入所需的端口號而不是 22?纯矗
Port 45673
此外,不要忘記在防火墻上將此端口列入白名單,以避免將自己鎖定在設(shè)備上。繼續(xù),是時(shí)候重啟 SSH 了。
要重新啟動服務(wù)器以加載更改,您必須遵循以下命令:
ubuntu@ubuntu:~$ sudo service sshd restart
重新啟動設(shè)備后,您就可以看到所做的更改,F(xiàn)在,您無需退出 SSH 會話即可輕松測試更改。
如何測試更改?
成功更改默認(rèn)端口后,必須提及端口號才能與服務(wù)器建立連接。
下面是需要執(zhí)行的命令:ubuntu@ubuntu:~$ ssh username@userIP -p 45673
您將端口號設(shè)置為 45673。
因此,您可以看到該過程非常容易和簡單。您需要執(zhí)行一些命令,一切順利。