如何為SSH配置私鑰

在日常開發中,SSH可能是一個家喻戶曉的工具。SSH的全稱為Secure Shell,是一種加密網絡協議。可以通過SSH協議進行安全的遠程登錄和其他網絡服務。

默認情況下,SSH是以用戶名和密碼的方式進行驗證。然而,加入私鑰是一種更為安全的驗證方式。本文將詳細介紹如何為SSH配置私鑰,以確保您的連接更加安全。

一、生成和保存SSH密鑰

在開始之前,確保您已經安裝了SSH客戶端。Windows下推薦使用PuTTY,Mac或Linux下推薦使用Terminal。

步驟1:打開SSH客戶端,打開終端窗口,然後使用以下命令生成密鑰:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

其中,“-t”參數指定算法類型,對於此示例中的RSA算法,“-b”指定密鑰長度為4096位,而“-C”選項指定一個注釋來識別密鑰的不同用途。在此處替換“your_email@example.com”為您的電子郵件地址,當在同一台電腦上生成多個密鑰時,需要使用唯一的注釋來識別每個密鑰。

步驟2:按提示進行操作,包括選擇路徑和輸入口令等。默認情況下,密鑰對存儲在當前用戶的主目錄下的.ssh目錄中。公共密鑰保存在.ssh/id_rsa.pub文件中,而私鑰保存在.ssh/id_rsa文件中。

步驟3:確保.ssh文件夾的權限設置合理。使用以下命令檢查權限:

ls -lh ~/.ssh
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa

最後一個命令將您的私鑰權限設置為僅允許當前用戶進行讀寫操作,確保私鑰的安全性。

二、添加SSH公鑰至遠程服務器

本節將介紹如何將您的公鑰添加到遠程服務器。這將允許您使用私鑰對遠程服務器進行身份驗證,而無需每次輸入密碼。

步驟1:使用以下命令將公鑰添加到遠程服務器上的授權密鑰文件中:

ssh-copy-id username@remote_host

其中,“username”是您在服務器上的用戶名,“remote_host”是您的服務器地址。執行該命令後,系統會詢問您該用戶的密碼。正確輸入密碼後,公鑰將自動添加到遠程服務器上的授權密鑰文件中。

步驟2(可選):在服務器上手動添加公鑰。如果您無法使用“ssh-copy-id”命令,則可以手動將公鑰添加到授權密鑰文件中。將公鑰的內容複製到.ssh/authorized_keys文件中:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

三、驗證SSH私鑰

現在,您已經將公鑰添加到遠程服務器上,下面是如何測試公鑰是否正常工作的方式:

步驟1:使用以下命令連接到遠程服務器:

ssh username@remote_host

其中,“username”是您在服務器上的用戶名,“remote_host”是您的服務器地址。如果在連接時被要求輸入密碼,則表示未正確設置SSH密鑰。

步驟2:如果您在登錄時使用了口令來保護您的密鑰,則需要手動輸入口令。如果消息類似於以下消息,則表示您已經成功連接到遠程服務器:

Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-77-generic x86_64)

Last login: Sat Jul 31 21:52:45 2021 from localhost

恭喜您,現在已經為SSH配置了私鑰!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/290759.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 13:13
下一篇 2024-12-24 13:13

相關推薦

  • Python SSH 遠程執行命令

    Python SSH 遠程執行命令是指在一個服務器上執行遠程另一個服務器上命令。如果你需要在本地機器上執行命令,或者在遠程機器上執行本地命令,你都可以使用 SSH。在 Python…

    編程 2025-04-29
  • CentOS 開啟 SSH

    一、安裝 SSH SSH 是 Secure Shell 的縮寫,是一種安全協議。在 CentOS 系統中,可以通過以下命令安裝 SSH: sudo yum install open…

    編程 2025-04-25
  • 如何開啟SSH服務

    一、SSH是什麼 SSH(Secure Shell)是加密網絡協議,用於在網絡上安全地傳輸數據。它通過加密技術來保護數據的機密性和完整性,可以被用於遠程登錄(以及其他網絡服務)的安…

    編程 2025-04-25
  • 詳解Git生成SSH Key

    一、生成SSH Key的意義 Git是一個強大的分布式版本控制系統,可以幫助我們開發更加高效和規範化。在使用Git和GitHub等平台時,常常會涉及SSH Key的生成。那麼,什麼…

    編程 2025-04-24
  • 深入探究SSH協議

    一、SSH協議的概述 Secure Shell(SSH)是一種加密網絡協議,用於在網絡上安全地傳輸數據。它最初是為取代Telnet和不安全的遠程Shell協議(例如rlogin)而…

    編程 2025-04-23
  • CentOS7 SSH詳解

    一、CentOS7 SSH簡介 CentOS7是一種在Linux環境下運行的操作系統,而SSH(Secure Shell)是一種用於遠程登錄到計算機系統的協議。在CentOS7中,…

    編程 2025-04-23
  • GitLab設置SSH key

    一、為什麼需要添加SSH key GitLab是一個基於Git的源代碼管理系統,使用它可以輕鬆地管理代碼、項目和團隊。在GitLab上添加SSH key是為了保證賬戶的安全性,同時…

    編程 2025-04-23
  • SSH無密碼登錄配置

    一、生成公鑰和私鑰 在進行ssh無密碼登錄配置前,首先需要生成公鑰和私鑰。 打開命令行窗口,並執行以下命令: ssh-keygen -t rsa 在彈出的窗口中,選擇保存密鑰的路徑…

    編程 2025-04-23
  • Linux SSH配置詳解

    一、安裝SSH SSH(Secure Shell)是在Linux中常用的一種加密遠程連接協議,可以使系統管理員通過互聯網或局域網對遠程連接的Linux服務器進行加密數據傳輸和遠程管…

    編程 2025-04-22
  • Github配置SSH

    一、生成SSH密鑰 1、打開Git Bash $ cd ~/.ssh $ ssh-keygen -t rsa -b 4096 -C “your_email@example.com”…

    編程 2025-04-12

發表回復

登錄後才能評論