[精選] 2025最新生成 SSH 密鑰和 SSL 證書的標準流程(Linux/macOS/Windows系統服務器通用方案)

[精選] 2025最新生成 SSH 密鑰和 SSL 證書的標準流程(Linux/macOS/Windows系統服務器通用方案)

在現代網絡中,SSH(安全外殼協議)和 SSL(安全套接層協議)是保證數據傳輸安全和身份驗證的重要技術。本教程將詳細介紹如何在 LinuxmacOSWindows 系統中生成 SSH 密鑰和 SSL 證書。我們不僅會講解具體操作步驟,還會對一些常見問題進行詳細解答,幫助初學者順利完成這些操作。
[精選] 2025最新生成 SSH 密鑰和 SSL 證書的標準流程(Linux/macOS/Windows系統服務器通用方案)

文章目錄

  • [精選] 2025最新生成 SSH 密鑰和 SSL 證書的標準流程(Linux/macOS/Windows系統服務器通用方案)
      • 一、SSH 密鑰生成流程
        • 1.1 在 Linux/macOS 系統中生成 SSH 密鑰
        • 1.2 在 Windows 系統中生成 SSH 密鑰
      • 二、SSL 證書生成流程
        • 2.1 在 Linux/macOS 系統中生成 SSL 證書
        • 2.2 在 Windows 系統中生成 SSL 證書
      • 三、常見問題及解答
        • 3.1 如何將 SSH 公鑰添加到遠程服務器?
        • 3.2 為什么我在生成 SSH 密鑰時遇到 `Permission denied` 錯誤?
        • 3.3 如何驗證 SSL 證書是否有效?
        • 3.4 如何在 Windows 系統中使用 SSH 密鑰?
      • 四、總結

作者??
貓頭虎微信號:Libin9iOak
公眾號:貓頭虎技術團隊
萬粉變現經紀人:CSDNWF

一、SSH 密鑰生成流程

SSH 密鑰對用于建立更安全的連接,相比傳統密碼方式,它更加安全且便捷。以下是各個操作系統中生成 SSH 密鑰的步驟。

1.1 在 Linux/macOS 系統中生成 SSH 密鑰
  1. 打開終端

    打開你系統中的終端應用程序。在 Linux 和 macOS 中,通常都自帶終端(Terminal)。

  2. 生成 SSH 密鑰

    在終端中輸入以下命令來生成 SSH 密鑰對:

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

    解釋:

    • -t rsa:指定密鑰類型為 RSA。
    • -b 4096:指定生成的密鑰長度為 4096 位,越長越安全。
    • -C:為密鑰添加注釋(一般填寫你的郵件地址,便于識別)。
  3. 選擇密鑰存儲路徑

    執行命令后,系統會詢問你保存密鑰的路徑,默認路徑是 ~/.ssh/id_rsa。如果你不想修改路徑,直接按回車即可。

  4. 設置密鑰密碼

    系統會要求你設置一個密碼用于加密私鑰。雖然這不是必須的,但強烈建議設置一個密碼,以增強安全性。

  5. 驗證密鑰生成

    生成密鑰后,你可以通過以下命令查看密鑰是否成功生成:

    ls ~/.ssh
    

    如果看到文件 id_rsaid_rsa.pub,說明密鑰生成成功。

1.2 在 Windows 系統中生成 SSH 密鑰
  1. 安裝 Git Bash 或 PowerShell

    在 Windows 系統中,我們推薦使用 Git Bash 或 Windows PowerShell 來生成 SSH 密鑰。

    • 下載并安裝 Git for Windows。
    • 打開 Git Bash 或 PowerShell。
  2. 生成 SSH 密鑰

    在命令行中輸入以下命令來生成密鑰:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    
  3. 選擇密鑰存儲路徑

    和 Linux/macOS 系統一樣,系統會要求你選擇密鑰保存路徑。默認路徑為 C:\Users\YourUsername\.ssh\id_rsa,可以直接按回車使用默認路徑。

  4. 設置密鑰密碼

    系統會提示你輸入密鑰密碼,這個密碼將用于加密私鑰。

  5. 驗證密鑰生成

    完成后,你可以在默認路徑下找到 id_rsaid_rsa.pub 文件,證明密鑰生成成功。

二、SSL 證書生成流程

SSL 證書用于加密 Web 服務器和客戶端之間的通信。下面是 SSL 證書生成的步驟。

2.1 在 Linux/macOS 系統中生成 SSL 證書
  1. 安裝 OpenSSL

    首先,確保你的系統安裝了 OpenSSL。如果沒有安裝,可以使用以下命令安裝:

    • Linux(Ubuntu/Debian):

      sudo apt install openssl
      
    • macOS:

      brew install openssl
      
  2. 生成私鑰和證書簽署請求(CSR)

    在終端中運行以下命令來生成私鑰和 CSR 文件:

    openssl req -new -newkey rsa:2048 -nodes -keyout myserver.key -out myserver.csr
    

    解釋:

    • -new:生成新的證書簽署請求。
    • -newkey rsa:2048:生成一個 2048 位的 RSA 密鑰。
    • -nodes:不使用密碼保護私鑰。
    • -keyout:指定生成的私鑰文件名。
    • -out:指定證書簽署請求(CSR)文件名。
  3. 填寫證書信息

    在生成過程中,系統會要求你輸入一些信息,如國家、公司名稱、域名等。請確保填寫正確的信息,特別是公共名(Common Name),這通常是你網站的域名。

  4. 生成私鑰和 CSR 文件

    生成完成后,你將看到兩個文件:

    • myserver.key:私鑰。
    • myserver.csr:證書簽署請求。

    你可以將 .csr 文件提交給證書頒發機構(CA)來申請 SSL 證書。

2.2 在 Windows 系統中生成 SSL 證書
  1. 安裝 OpenSSL

    可以從 OpenSSL 官網下載并安裝適用于 Windows 的版本。

  2. 生成私鑰和 CSR

    在安裝目錄中打開命令提示符(cmd),然后運行以下命令:

    openssl req -new -newkey rsa:2048 -nodes -keyout myserver.key -out myserver.csr
    
  3. 填寫證書信息

    按照提示填寫相關信息,特別是公共名(Common Name)需填寫你的域名。

  4. 生成私鑰和 CSR 文件

    和 Linux/macOS 系統一樣,你將生成兩個文件:

    • myserver.key:私鑰。
    • myserver.csr:證書簽署請求(CSR)。

三、常見問題及解答

3.1 如何將 SSH 公鑰添加到遠程服務器?

為了實現無密碼登錄,你需要將生成的公鑰添加到服務器的 ~/.ssh/authorized_keys 文件中。可以使用 ssh-copy-id 命令來自動完成這一操作:

ssh-copy-id username@remote_host

如果沒有 ssh-copy-id 命令,你也可以手動將公鑰內容復制到遠程服務器的 ~/.ssh/authorized_keys 文件中。

3.2 為什么我在生成 SSH 密鑰時遇到 Permission denied 錯誤?

這個錯誤通常發生在你沒有足夠權限保存文件時。你可以嘗試使用 sudo 提升權限,或者確保你有權限寫入默認目錄(如 ~/.ssh)。

3.3 如何驗證 SSL 證書是否有效?

你可以使用以下命令來驗證證書的有效性:

openssl x509 -in myserver.crt -noout -text

此命令將顯示證書的詳細信息,包括有效期、簽發者等。如果證書有效,將顯示 notBeforenotAfter 時間范圍。

3.4 如何在 Windows 系統中使用 SSH 密鑰?
  1. 安裝 OpenSSH 客戶端:在 Windows 10 及更高版本中,你可以通過“Windows 功能”啟用 OpenSSH 客戶端。

  2. 配置 SSH 客戶端:將生成的 SSH 私鑰存儲在 C:\Users\YourUsername\.ssh 目錄下。

  3. 連接到服務器:使用以下命令連接到遠程服務器:

    ssh -i C:\Users\YourUsername\.ssh\id_rsa username@remote_host
    

四、總結

通過本教程,你已經了解了如何在 Linux、macOS 和 Windows 系統上生成 SSH 密鑰和 SSL 證書,并且解決了常見問題。希望你在實際應用中能夠更好地理解和使用這些技術來提高安全性。如果遇到其他問題,歡迎在評論區留言。

作者??
貓頭虎微信號:Libin9iOak
公眾號:貓頭虎技術團隊
萬粉變現經紀人:CSDNWF

生成 SSH 密鑰
選擇操作系統
Linux/macOS
Windows
生成密鑰
生成密鑰
公鑰添加到服務器
生成 SSL 證書
選擇操作系統
Linux/macOS
Windows
生成證書
生成證書
提交 CSR 申請證書

感謝您的閱讀,希望你能夠順利完成密鑰和證書的生成過程。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/90277.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/90277.shtml
英文地址,請注明出處:http://en.pswp.cn/web/90277.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

開發框架安全ThinkPHPLaravelSpringBootStruts2SpringCloud復現

PHP-ThinkphpLaravelThinkPHP是一套開源的、基于PHP的輕量級Web應用開發框架綜合工具:武器庫-Thinkphp專檢(3-6版本)如何判斷是TP6框架開發的web程序,基于源碼、路徑、圖標、基于報錯可發現dex.php?xxx 在其6.0.13版本及以前/?c…

uniapp+vue3小程序點擊保存圖片、保存二維碼

介紹 步驟1:引入必要的API 在script部分,確保引入了uni的相關API,如uni.downloadFile和uni.saveImageToPhotosAlbum。 步驟2:下載圖片到本地 在toInvite函數中,使用uni.downloadFile將圖片下載到本地,并獲取本地路徑。 步驟3:處理權限和保存邏輯 在saveToAlbum函數…

Golang中GROM多表關聯跟原生SQL多表關聯區別

文章目錄前言一、GROM多表關聯二、原生Sql多表關聯前言 對比GROM多表關聯和原生Sql多表關聯 一、GROM多表關聯 適用于返回全部數據需要邏輯外鍵(不會在數據庫創建任何約束)適合三個表以下的關聯有幾張表就會查詢幾次 type Product struct {gorm.Model …

設計模式六:工廠模式(Factory Pattern)

概念定義一個創建對象的接口&#xff0c;但讓子類決定實例化哪個類。實現示例#include <iostream> #include <memory>// 產品基類 class Product { public:virtual void use() 0;virtual ~Product() default; };// 具體產品A class ConcreteProductA : public Pr…

應用層自定義協議【序列化+反序列化】

文章目錄再談 “協議”重新理解read、write、recv、send和tcp為什么支持全雙工Server.cc網絡版計算機實現Socket封裝&#xff08;模板方法類&#xff09;socket.hpp定制協議JsonJson安裝定義一個期望的報文格式Protocol.hppParser.hppCalculator.hpp完整的處理過程Client.cc三層…

dify創建OCR工作流

實現ocr識別文件內容&#xff0c;引用dify的一個插件&#xff0c;插件名稱&#xff1a;mineru 引用在線版本mineru 具體操作說明&#xff0c;參見視頻&#xff1a; 第六篇&#xff1a;DifyOCR&#xff0c;掃描件最優解_嗶哩嗶哩_bilibili 引用本地部署mineru 上面的這種使用…

備受關注的“Facebook Email Scraper”如何操作?

Facebook Email Scraper&#xff08;臉書郵箱提取工具&#xff09;是一類用于從Facebook平臺提取公開郵箱信息的工具&#xff0c;其核心功能是通過解析用戶主頁、群組、頁面等公開內容&#xff0c;識別并提取其中包含的郵箱地址&#xff0c;為用戶提供結構化的聯系方式數據。這…

【網絡原理】萬字長文解密UDP/TCP——手把手教你理解網絡通信

目錄 1.前言 2.正文 2.1UDP協議 2.1.1UDP協議端格式 2.1.2UDP的特點 2.1.3理解UDP的“不可靠” 2.1.4面向數據報 2.1.5基于UDP的應用層協議 2.2TCP協議 2.2.1TCP協議端格式 2.2.2TCP十個核心機制 2.2.2.1確認應答 2.2.2.2超時重傳 確認應答超時重傳 vs 三次握手 …

MATLAB軟件使用頻繁,企業如何做到“少買多用”?

在制造企業的工程計算、算法研發、系統建模等場景中&#xff0c;MATLAB 已成為不可或缺的核心工具。 無論是動力學建模、控制算法開發&#xff0c;還是信號處理和數據可視化&#xff0c;MATLAB 的高頻使用場景覆蓋了從研發部門到測試部門的多個崗位。然而&#xff0c;企業 IT 負…

數據結構自學Day13 -- 快速排序--“分而治之”

&#x1f536; 一、快速排序&#xff08;Quick Sort&#xff09;&#x1f4cc; 基本思想&#xff1a;分而治之&#xff1a;每次從數組中選一個“基準”&#xff08;pivot&#xff09;&#xff0c;把比它小的放左邊&#xff0c;大的放右邊。對左右子數組遞歸排序。&#x1f9e0;…

Linux 進程與服務管理~進程基礎、進程查看、進程控制、服務管理、開機啟動??

在 Linux 系統中,進程與服務管理是運維和開發的核心技能之一。進程是程序運行的實例,服務是長期運行的后臺進程(守護進程)。掌握進程與服務的管理方法,能有效排查系統問題、優化資源使用。以下從 ??進程基礎、進程查看、進程控制、服務管理、開機啟動?? 五大模塊詳細講…

論文筆記 | Beyond Pick-and-Place: Tackling Robotic Stacking of Diverse Shapes

論文地址&#xff1a;Beyond Pick-and-Place: Tackling Robotic Stacking of Diverse Shapes 概述&#xff1a;本文提出 RGB-Stacking 基準測試&#xff0c;研究如何僅憑 RGB 攝像頭視覺和本體感知&#xff0c;實現機器人對 復雜幾何物體的高效堆疊。通過結合仿真專家訓練、交互…

React 英語打地鼠游戲——一個寓教于樂的英語學習游戲

&#x1f3af; 英語打地鼠游戲 一個寓教于樂的英語學習游戲&#xff0c;通過經典的打地鼠玩法幫助用戶學習英語單詞。 ? 項目特色 &#x1f3ae; 游戲化學習 經典打地鼠玩法&#xff1a;6 個洞穴&#xff0c;聽英文選單詞即時反饋&#xff1a;答對/答錯立即語音提示計分系…

Qt--Widget類對象的構造函數分析

Widget類對象的構造函數分析&#xff0c;用更直觀的方式解釋這段代碼的作用和工作原理&#xff1a;代碼&#xff1a;Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }代碼解析 Widget::Widget(QWidget *parent) // 構造函數定…

使用pytorch創建模型時,nn.BatchNorm1d(128)的作用是什么?

在PyTorch中&#xff0c;nn.BatchNorm1d(128) 的作用是對 一維輸入數據&#xff08;如全連接層的輸出或時間序列數據&#xff09;進行批標準化&#xff08;Batch Normalization&#xff09;&#xff0c;具體功能與實現原理如下&#xff1a; 1. 核心作用 標準話數據分布 對每個批…

【數據結構】二叉樹的鏈式結構--用C語言實現

1.二叉樹的鏈式結構 此前&#xff0c;我們通過數組&#xff08;順序表&#xff09;完成了二叉樹的順序存儲&#xff0c;并實現了二叉樹的基礎功能 那么&#xff0c;二叉樹還有沒有其他存儲方式呢&#xff1f; 前面我們學習了鏈表&#xff0c;它是一種線性結構&#xff0c;而二…

java設計模式 -【適配器模式】

適配器模式的定義 適配器模式&#xff08;Adapter Pattern&#xff09;是一種結構型設計模式&#xff0c;用于解決接口不兼容問題。通過將一個類的接口轉換成客戶端期望的另一個接口&#xff0c;使原本因接口不匹配而無法工作的類能夠協同工作。 核心角色 目標接口&#xff08;…

前端,demo操作,增刪改查,to do list小項目

demo操作&#xff0c;html<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&l…

Spring AI 項目實戰(十九):Spring Boot + AI + Vue3 + OSS + DashScope 構建多模態視覺理解平臺(附完整源碼)

系列文章 序號 文章名稱 1 Spring AI 項目實戰(一):Spring AI 核心模塊入門 2 Spring AI 項目實戰(二):Spring Boot + AI + DeepSeek 深度實戰(附完整源碼) 3 Spring AI 項目實戰(三):Spring Boot + AI + DeepSeek 打造智能客服系統(附完整源碼) 4

在 Ubuntu 20.04.5 LTS 系統上安裝 Docker CE 26.1.4 完整指南

在 Ubuntu 20.04.5 LTS 系統上安裝 Docker CE 26.1.4 完整指南版本選擇說明 為什么選擇 Docker CE 26.1.4&#xff1f; 1. 版本穩定性和成熟度 Docker CE 26.1.4 是 2024 年 5 月發布的穩定版本&#xff0c;經過了充分的測試和驗證相比最新的 28.x 版本&#xff0c;26.1.4 在生…