了解SSH端口以及SSH是如何工作的

      今天,安全通信是每個組織的首要任務之一,因為主要任務是通過網絡將數據從一個設備傳輸到另一個設備來完成的。因此,正在實施各種策略以確保完全安全,以在傳輸時保持數據的完整性。一些公司致力于處理需要保護的關鍵數據,因此他們制定了一些規則以通過互聯網與其他設備進行通信。

      了解SSH端口以及SSH是如何工作的-南華中天

      因此,SSH(安全外殼)作為傳統 telnet 協議的擴展出現。然而,telnet 不是那么安全,因此隨著時間的推移被 ssh 取代。如果您是系統管理員,那么您肯定使用過 ssh。但是,如果您不知道該術語,那么通過本文您將獲得足夠的關于 ssh 的知識。在本文中,我們將重點介紹 SSH,它的工作原理、用途以及如何更改默認 SSH 端口。

      什么是SSH端口?

      使用 ssh 完成的每個通信都需要端口來連接和啟動通信。無論設備是有線還是無線,都需要端口。有超過 65k 個可用的通信端口,您可以使用這些端口中的任何一個開始通信。默認情況下,所有通信都是使用 SSH 端口號 22 完成的,該端口號可以更改并設置為任何其他可用端口號。每當用戶運行命令啟動兩個設備之間的網絡通信時,連接將使用端口號 22。

      但是,如果您正在執行任何需要安全的關鍵通信,建議您將默認 SSH 端口號更改為其他以避免暴力攻擊。眾所周知,22 是默認的 SSH 端口號,最容易受到攻擊,任何黑客都可以輕松破解您傳輸的數據。使用ssh端口,可以實現SSH協議。SSH 或 Secure Shell 是一種用于遠程訪問服務器的網絡協議。它為您提供了一種安全的方式來遵守任何類型的不安全網絡上的設備。這不僅僅是關于安全服務;它還指幫助實現 SSH 協議的實用程序包。

      SSH協議特點

      有很多與 SSH 相關的功能。讓我們潛入吧!

      1.SSH 自帶強密碼認證、加密數據通信和公鑰認證

      2.它用于遠程管理系統和應用程序,并允許其他人遠程使用設備并執行多項功能

      3.它是一種加密網絡協議,使用客戶端/服務器模型

      4.您也可以為不同的應用程序協議創建安全隧道。應用程序協議進一步用于終端仿真或傳輸文件

      5.轉發端口

      讓我們深入了解SSH的工作機制!

      SSH 是如何工作的?

      SSH 協議在客戶端-服務器模型中工作,其中一臺設備作為服務器,另一臺設備作為客戶端。SSH 客戶端將建立連接過程,并使用公鑰密碼術來驗證 SSH 服務器的身份。建立連接后,SSH 協議將使用強對稱加密和散列算法來確保在客戶端和服務器之間傳輸的數據的隱私性和完整性。在研究 SSH 協議的過程中,我們將討論發生的各個步驟。

      1.建立 SSH 連接。

      2.會話加密協商。

      3.用戶認證。

      建立 SSH 連接

      要創建 SSH 連接,您需要從客戶端機器運行命令,如下所示。ssh [用戶名]@[server_ip_or_hostname]

      一旦命令運行會話加密協商過程將開始。

      會話加密協商

      一旦請求被發送到服務器,服務器就會向客戶端發送一組服務器支持的加密協議。然后服務器將使用公鑰作為身份驗證方法。客戶端將服務器的協議集與自己的協議集進行匹配,如果協議匹配,則雙方機器將同意建立連接并開始數據傳輸。

      客戶端在第一次建立連接時會將服務器的公鑰與本地存儲的私鑰進行比較。如果兩個密鑰匹配,客戶端和服務器將在 SSH 會話期間啟動對稱加密方法進行通信。為了進行這種通信,他們將開始使用非對稱加密過程進行通信,該過程適用于 Diffie-Hellman (DH) 密鑰交換算法,以通過公共網絡安全地創建加密密鑰。為了生成密鑰,機器將執行以下步驟:

      1.兩臺機器將就兩個數字達成一致,即模數和基數。如果要防止暴力密鑰解密,則需要選擇模數作為至少 600 位的質數。

      2.機器將單獨選擇一個數字并將其應用于將涉及兩個公共數字的等式。

      3.然后服務器和客戶端將交換這些計算值。

      4.然后每臺機器將根據從另一臺機器收到的結果執行計算。

      在此過程之后,將生成一個共享密鑰,該密鑰將在兩個設備之間共享。

      用戶認證

      最常用的 SSH 用戶身份驗證方法是密碼和 SSH 密鑰。客戶端將加密的密碼安全地發送到服務器。但是,在某些情況下,密碼被認為是一種有風險的身份驗證方法,因為密碼的強度取決于用戶創建密碼的方式。雖然使用非對稱加密的 SSH 公私密鑰對被認為是比密碼更好的選擇。客戶端解密消息后,服務器將授予所需系統對客戶端的訪問權限要生成 SSH 密鑰對,您需要在終端中鍵入 ssh-keygen。然后,系統將生成并存儲如下所示的密鑰。

      引入了 SSH 以更新不安全的終端仿真,例如rlogin 或 Telnet。SSH 以更高的靈活性和舒適性執行相同的功能。不僅如此,它還取代了幾個文件傳輸程序。例如,FTP(文件傳輸協議)和 RCP(遠程復制)。SSH 的主要目的是在終端會話的情況下連接遠程主機。您使用以下命令來完成任務:ssh UserName@SSHserver.example.com這個命令有什么作用?好吧,這個命令將幫助客戶端連接到服務器。

      SSH 的使用

      1.默認情況下,您將獲得MAC、Windows 和 Unix 操作系統的SSH 終端

      2.借助遠程主機和本地機器之間的 SSH 連接,可以保護各種通信

      3.它還用于管理路由器、虛擬化平臺、服務器硬件、文件傳輸應用程序等

      4.也可以連接服務器,使用工具或終端上傳退出

      5.SSH 密鑰帶有 SSO 或單點登錄,可幫助用戶在帳戶之間移動而無需每次都插入密碼

      此外,它在訪問管理和身份管理方面發揮著重要作用。SSH 流量也是高度加密的。它還可以幫助您在多個遠程設備上安全地發出命令。您可以期待安全和自動化的文件傳輸。與此同時,請確保您的網絡基礎設施組件的安全管理。簡而言之,SSH 廣泛用于腳本和其他幾種軟件中,以安全地遠程訪問數據和資源。現在,讓我們將重點放在我們的核心主題上,即 SSH 默認端口。

      什么是默認 SSH 端口號?

      正如我們上面所討論的,每次通信都將使用默認的 SSH 端口號 22 來完成。這個端口被認為對于執行關鍵傳輸是不安全的,因為每個人都知道默認的 [端口號是 22。它我們將默認端口號更改為其他端口以避免暴力攻擊是明智之舉。有線和無線機器之間的連接是通過端口進行的。總共有65,536個通信端口。此外,默認情況下,用于通信的 SSH 端口號為 22。

      每當您通過默認 SSH 端口號 22 運行命令時,就會在客戶端和服務器之間建立連接。現在每個連接都通過此端口初始化。此外,出于安全目的,有幾種情況需要更改默認的 SSH 端口號。安全措施對于保護服務器免受暴力攻擊變得必要。當我們談論蠻力攻擊時,它是一種錯誤方法,以破解不正確的數據。例如,通過詳盡的努力而不是算法來找出密碼。基本上是指敲打,直到破解為止。另外,很明顯,22端口是默認的通信端口,因此未經授權的一方更容易訪問數據。當您將此端口切換到其他端口時,黑客必須嘗試其他幾個端口才能最終找到一個開放端口。因此,要想將任何黑客拒之門外,可以采取這一步。但是,問題是,更改默認 SSH 端口的方法是什么?

      如何更改默認 SSH 端口

      要更改默認 SSH 端口,您必須編輯 sshd_config 文件。此外,保留文件備份始終是一個不錯的選擇。首先使用此命令創建備份:

      ubuntu@ubuntu:~$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config_backup

      此命令在同一目錄中創建文件的副本。下一步是更改默認的 SSH 端口。在任何編輯器中打開 ssh_config 文件。現在,輸入以下命令:

      ubuntu@ubuntu:~$ gedit /etc/ssh/sshd_config

      執行此命令后,上述文件將在文本編輯器中打開。在代碼中搜索這一行:

      #Port 22

      現在,假設您想將端口號更改為 45673。為此,只需刪除井號 (#) 并插入所需的端口號而不是 22。看看:

      Port 45673

      此外,不要忘記在防火墻上將此端口列入白名單,以避免將自己鎖定在設備上。繼續,是時候重啟 SSH 了。

      要重新啟動服務器以加載更改,您必須遵循以下命令:

      ubuntu@ubuntu:~$ sudo service sshd restart

      重新啟動設備后,您就可以看到所做的更改。現在,您無需退出 SSH 會話即可輕松測試更改。

      如何測試更改?

      成功更改默認端口后,必須提及端口號才能與服務器建立連接。

      下面是需要執行的命令:ubuntu@ubuntu:~$ ssh username@userIP -p 45673

      您將端口號設置為 45673。

      因此,您可以看到該過程非常容易和簡單。您需要執行一些命令,一切順利。