日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux 之七 SSH、SSL、OpenSSH、OpenSSL、LibreSSL

發(fā)布時(shí)間:2024/10/14 linux 108 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux 之七 SSH、SSL、OpenSSH、OpenSSL、LibreSSL 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

??在上一篇博文 Linux 之四 Ubuntu 20.04 WiFi 無法使用、設(shè)置無法顯示、遠(yuǎn)程桌面、SSH、Git、PPA 等各問題記錄 中,曾試圖使用遠(yuǎn)程桌面功能來連接使用我的 Ubuntu 20.04,但實(shí)際情況是遠(yuǎn)程桌面卡的是慘不忍睹,無奈還是得用 SSH 遠(yuǎn)程登錄。

??在網(wǎng)上找了很多 SSH 相關(guān)的文章,好記性不如爛筆頭,這里整理一下,做個(gè)備忘錄!

SSH

??SSH 為 Secure Shell 的縮寫(雖然名字中有個(gè) Shell,但他實(shí)際并不是 Shell),由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)的網(wǎng)絡(luò)小組(Network Working Group)所制定一個(gè)網(wǎng)絡(luò)協(xié)議。SSH 是一種建立在應(yīng)用層基礎(chǔ)上的加密的網(wǎng)絡(luò)協(xié)議。但是,就和 SSL 類似,它有不是僅僅工作在應(yīng)用層(映射到 TCP/IP 模型)!如下圖是 OSI 參考模型與 TCP/IP 模型對(duì)比:

??SSH 的經(jīng)典用途是登錄到遠(yuǎn)程電腦中執(zhí)行命令。除此之外,SSH 也支持隧道協(xié)議、端口映射和 X11 連接。借助 SFTP 或 SCP 協(xié)議,SSH 還可以傳輸文件。

??SSH 協(xié)議有兩個(gè)主要版本,分別是 SSH-1 和 SSH-2,兩者不兼容。2006 年,SSH-2 協(xié)議成為了新的標(biāo)準(zhǔn),而且目前我們使用的 SSH 大多數(shù)都是 SSH-2 版本的 SSH,其標(biāo)準(zhǔn)主要有 :

  • RFC 4250 – The Secure Shell (SSH) Protocol Assigned Numbers
  • RFC 4251 – The Secure Shell (SSH) Protocol Architecture
  • RFC 4252 – The Secure Shell (SSH) Authentication Protocol
  • RFC 4253 – The Secure Shell (SSH) Transport Layer Protocol
  • RFC 4254 – The Secure Shell (SSH) Connection Protocol
  • RFC 4255 – Using DNS to Securely Publish Secure Shell (SSH) Key Fingerprints
  • RFC 4256 – Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)
  • RFC 4335 – The Secure Shell (SSH) Session Channel Break Extension
  • RFC 4344 – The Secure Shell (SSH) Transport Layer Encryption Modes
  • RFC 4345 – Improved Arcfour Modes for the Secure Shell (SSH) Transport Layer Protocol

關(guān)于 RFC:

  • 征求意見稿(Request For Comments,RFC)是由互聯(lián)網(wǎng)工程任務(wù)組(Internet Engineering Task Force,IETF)發(fā)布的一系列備忘錄。所有關(guān)于 Internet 的正式標(biāo)準(zhǔn)都是以 RFC 文檔出版。
  • RFC 由互聯(lián)網(wǎng)協(xié)會(huì)(Internet Society,簡(jiǎn)稱ISOC)贊助發(fā)行,會(huì)交到互聯(lián)網(wǎng)工程工作小組(IETF)和互聯(lián)網(wǎng)結(jié)構(gòu)委員會(huì)(IAB)。文檔可由網(wǎng)站 https://www.ietf.org/ 下載。
  • RFC 始于 1969 年,由當(dāng)時(shí)就讀加州大學(xué)洛杉磯分校(UCLA)的斯蒂芬·克羅克(Stephen D. Crocker)用來記錄有關(guān) ARPANET 開發(fā)的非正式文檔,他是第一份 RFC 文檔的撰寫者。最終演變?yōu)橛脕碛涗浕ヂ?lián)網(wǎng)規(guī)范、協(xié)議、過程等的標(biāo)準(zhǔn)文件。
  • RFC 文件是由 Internet Society 審核后給定編號(hào)并發(fā)行。RFC1000 這份文件就是 RFC 的指南。
  • 還有大量的 RFC 文檔都不是正式的標(biāo)準(zhǔn),出版目的都是為了提供信息。
  • 此外,關(guān)于 SSH 的幾個(gè)專有名詞也需要區(qū)分一下:

    • SSH: 通用術(shù)語,指 SSH 協(xié)議 或 基于 SSH 協(xié)議的軟件產(chǎn)品
    • SSH-1: SSH 協(xié)議版本 1。SSH 協(xié)議有多個(gè)修訂版,其中最為大家熟知的是 1.3 和 1.5
    • SSH-2: SSH 協(xié)議版本 2。這是由 IETF 的 SECSH 工作組的若干標(biāo)準(zhǔn)文件中定義名稱
    • SSH1: 通常代指 Tatu Yl?nen 實(shí)現(xiàn)的 SSH 協(xié)議版本 1 的軟件名字
    • SSH2: SSH Communications Security, Inc. (http://www.ssh.com) 實(shí)現(xiàn)的 SSH 協(xié)議版本 2 的軟件名字,這是一個(gè)SSH 協(xié)議版本 2 的商業(yè)版軟件實(shí)現(xiàn)
    • ssh: 全部小寫的 ssh 是 OpenSSH 中實(shí)現(xiàn)的 SSH 客戶端的軟件名字,這也是如今我們使用最多的 SSH 軟件。

    歷史

  • 芬蘭赫爾辛基理工大學(xué)的 Tatu Yl?nen 發(fā)現(xiàn)自己學(xué)校存在嗅探密碼的網(wǎng)絡(luò)攻擊,便于 1995 年編寫了一套保護(hù)信息傳輸?shù)某绦?#xff0c;并稱其為“secure shell”,簡(jiǎn)稱 SSH,設(shè)計(jì)目標(biāo)是取代先前的 rlogin、Telnet、FTP 和 rsh 等安全性不足的協(xié)議。
  • 1995 年 7 月,Tatu Yl?nen 以免費(fèi)軟件的形式將其發(fā)布。程序很快流行起來。
  • 1995 年 12 月,Tatu Yl?nen 創(chuàng)立了 SSH 通信安全公司來繼續(xù)開發(fā)和銷售 SSH。由 SSH 公司發(fā)布的版本逐漸變成了專有軟件。
  • 1999 年,開發(fā)者們希望使用自由版本的 SSH,于是重新使用較舊的 1.2.12 版本,這也是最后一個(gè)采用開放源代碼許可的版本。隨后瑞典程序員 Bj?rn Gr?nvall 基于這個(gè)版本開發(fā)了 OSSH。不久之后,OpenBSD 的開發(fā)者又在 Gr?nvall 版本的基礎(chǔ)上進(jìn)行了大量修改,形成了OpenSSH。
  • 2006 年,SSH-2 協(xié)議成為了新的標(biāo)準(zhǔn)。與 SSH-1 相比,SSH-2 進(jìn)行了一系列功能改進(jìn)并增強(qiáng)了安全性,SSH-2 協(xié)議與 SSH-1 不兼容,且目前已經(jīng)逐漸替代了 SSH-1。許多軟件也只支持 SSH-2 協(xié)議了。
  • 架構(gòu)

    ??SSH 的軟件架構(gòu)采用了服務(wù)器-客戶端模式(Server - Client),默認(rèn)的端口為 22。SSH 通過在網(wǎng)絡(luò)中創(chuàng)建安全隧道來實(shí)現(xiàn) SSH 客戶端與服務(wù)器之間的連接。整體架構(gòu)如下圖所示:

    ??SSH 協(xié)議有兩個(gè)主要版本,分別是 SSH-1 和 SSH-2,這兩個(gè)版本的協(xié)議是不兼容的!與 SSH-1 相比,SSH-2 進(jìn)行了一系列功能改進(jìn)并增強(qiáng)了安全性,還支持通過單個(gè)SSH 連接任意數(shù)量的 shell 會(huì)話。兩者架構(gòu)對(duì)比如下所示:

    ??SSH-1 被設(shè)計(jì)為一個(gè)整體,在這個(gè)單個(gè)協(xié)議中定義了多個(gè)不同的功能,而 SSH-2 則被設(shè)計(jì)為分成不同的模塊層,共由三種協(xié)議組成:

    • Transport Layer Protocol: 該協(xié)議兼容服務(wù)器身份驗(yàn)證、私密性和完整性,具有完美的前向私密性。這一層可以提供可選的壓縮,并通過TCP/IP 連接運(yùn)行,但也可以在任何其他可靠的數(shù)據(jù)流之上使用。
    • User Authentication Protocol: 該協(xié)議向服務(wù)器驗(yàn)證客戶端,并在傳輸層上運(yùn)行。
    • Connection Protocol: 該協(xié)議通過用戶認(rèn)證協(xié)議將加密通道多路復(fù)用到多個(gè)邏輯通道。

    OpenSSH

    ??SSH 只是一種協(xié)議,存在多種實(shí)現(xiàn),既有商業(yè)實(shí)現(xiàn),也有開源實(shí)現(xiàn)。目前,OpenSSH 是最流行的 SSH 實(shí)現(xiàn),而且成為了大量操作系統(tǒng)的默認(rèn)組件。OpenSSH 仍在積極維護(hù)中,而且已經(jīng)支持 SSH-2 協(xié)議。從 7.6 版開始,OpenSSH 不再支持 SSH-1 協(xié)議。官網(wǎng):https://www.openssh.com/ 。OpenSSH 主要包含以下工具:

    • 客戶端工具 ssh、scp、sftp
      • ssh:ssh 客戶端,是一個(gè)用于登錄到遠(yuǎn)程計(jì)算機(jī)并在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行命令的程序。
      • scp:用于在網(wǎng)絡(luò)上的主機(jī)之間復(fù)制文件
      • sftp:一個(gè)文件傳輸程序,類似于 ftp,它通過加密的 ssh 傳輸執(zhí)行所有操作。
    • 密鑰管理工具 ssh-add、ssh-keysign、ssh-keyscan、ssh-keygen
      • ssh-add:用于將私鑰標(biāo)識(shí)添加到身份驗(yàn)證代理(ssh-agent)。在沒有參數(shù)的情況下運(yùn)行時(shí),它會(huì)添加文件 ?/.ssh/id_rsa,?/.ssh/id_dsa,?/ .ssh/id_ecdsa,?/.ssh/id_ecdsa_sk,?/.ssh/id_ed25519 和 ?/.ssh /id_ed25519_sk。加載私鑰后,ssh-add 將嘗試從以-cert.pub 結(jié)尾的文件中加載相應(yīng)的證書信息。
      • ssh-keysign:ssh 使用 ssh-keysign 訪問本地主機(jī)密鑰并生成基于主機(jī)身份驗(yàn)證所需的數(shù)字簽名。默認(rèn)情況下,該功能是被禁用的,且該程序一般不需要用戶調(diào)用,而是由 ssh 程序自動(dòng)調(diào)用。
      • ssh-keyscan:用于收集其他主機(jī)的公共 SSH 主機(jī)鍵的實(shí)用程序。它旨在幫助構(gòu)建和驗(yàn)證 SSH_KNOKN_HOSTS 文件。
      • ssh-keygen:OpenSSH 身份驗(yàn)證密鑰實(shí)用程序
    • 服務(wù)端工具 sshd、sftp-server、ssh-agent
      • sshd:即 OpenSSH Daemon,是 ssh 的守護(hù)程序,也即 SSH 的服務(wù)端程序。它通過不安全的網(wǎng)絡(luò)在兩個(gè)不受信任的主機(jī)之間提供安全的加密通信。
      • ssh-agent:用來保存用于公鑰身份驗(yàn)證的私鑰。通過使用環(huán)境變量,它可以在使用 ssh 登陸其他計(jì)算機(jī)時(shí),定位并自動(dòng)處理身份驗(yàn)證。
      • sftp-server:sftp 服務(wù)端程序,用來接收并處理來自 sftp 的連接。改程序通常也不需要由用戶調(diào)用,而是由 ssh 來調(diào)用

    詳細(xì)的介紹及使用方法,可以參考 OpenSSH 官方文檔:https://www.openssh.com/manual.html。

    ??在這個(gè)架構(gòu)中,SSH 軟件分成兩個(gè)部分:向服務(wù)器發(fā)出請(qǐng)求的部分,稱為客戶端(client),OpenSSH 的實(shí)現(xiàn)為 ssh;接收客戶端發(fā)出的請(qǐng)求的部分,稱為服務(wù)器(server),OpenSSH 的實(shí)現(xiàn)為 sshd。

    ??目前,SSH 已經(jīng)成為了類 Unix 系統(tǒng)的標(biāo)配組件,直接在 Ubuntu 終端中輸入 ssh -V 就可以查看 Ubuntu 自帶了 ssh 客戶端的版本,我這里的版本號(hào)是 OpenSSH_8.2p1。

    然而 Ubuntu 默認(rèn)并沒有安裝 ssh server,因此需要自己安裝:sudo apt-get install openssh-server,安裝之后,查看一下:

    第一個(gè)查看安裝了 ssh 相關(guān)的包,第二個(gè)查看 ssh 服務(wù)器有沒有運(yùn)行(ssh-agent 表示 ssh-client 啟動(dòng),sshd 表示 ssh-server 啟動(dòng))!
    ??注意,第一次安裝之后,SSH 服務(wù)端會(huì)被默認(rèn)啟動(dòng),但是重啟電腦之后,SSH 服務(wù)端默認(rèn)不會(huì)自動(dòng)啟動(dòng)。手動(dòng)啟動(dòng)的命令為:sudo service ssh start。當(dāng)然,我們可以選擇將 SSH 服務(wù)端配置為開機(jī)自啟動(dòng)。

    ??在早期的 Linux 中,rc.local 是在系統(tǒng)初始化級(jí)別腳本運(yùn)行之后再執(zhí)行的,可以安全地在里面添加想在系統(tǒng)啟動(dòng)之后執(zhí)行的腳本。然而,在比較新的 Linux 發(fā)行版已經(jīng)沒有 rc.local 文件了,因?yàn)橐呀?jīng)將其服務(wù)化了。直接使用命令:sudo systemctl enable ssh 表示開機(jī)自啟動(dòng) SSH 服務(wù)端。下面是一些常用命令:

  • 安裝 SSH 服務(wù)端:sudo apt-get install openssh-server
  • 開機(jī)自動(dòng)啟動(dòng) SSH 命令:sudo systemctl enable ssh
  • 關(guān)閉 SSH 開機(jī)自動(dòng)啟動(dòng)命令:sudo systemctl disable ssh
  • 單次開啟 SSH:sudo systemctl start ssh 或 sudo service ssh start
  • 單次關(guān)閉 SSH:sudo systemctl stop ssh 或 sudo service ssh stop
  • 查看 SSH 是否啟動(dòng):sudo systemctl status ssh 看到 Active: active (running) 即表示成功 或者 ps -e | grep ssh 看到有 sshd 即表示成功。
  • ??根據(jù)網(wǎng)友介紹,目前也可以手動(dòng)添加 rc.local,在 exit 0 語句前加入:/etc/init.d/ssh start ,這樣使 SSH 服務(wù)端開啟自動(dòng)啟動(dòng)。具體方法參考:https://cloud.tencent.com/developer/article/1721972

    ??同樣,從 Windows 10 1803 版本開始,微軟也提供 OpenSSH 工具。直接在 Windows Terminal 中(CMD)輸入 ssh 就可以查看當(dāng)前系統(tǒng)中的 SSH 版本,與 Ubuntu 不同的是,Windows 同時(shí)提供了 SSH 客戶端和服務(wù)端:

    Windows 下如果要使用服務(wù)端需要進(jìn)行一些配置。

    配置

    ??SSH 的運(yùn)行需要各種配置文件。SSH 客戶端的全局配置文件是 ssh_config,服務(wù)端的配置文件是 sshd_config,他們都位于 /etc/ssh 目錄下。這里需要注意,在 Windows 系統(tǒng)中,稍微有些不同。

    Windows 系統(tǒng)中的 OpenSSH 默認(rèn)沒有這兩個(gè)配置文件。例如,默認(rèn)沒有服務(wù)端的配置文件 sshd_config,如果要運(yùn)行服務(wù)端,會(huì)提示如下錯(cuò)誤(Windows 上正確啟用 SSH 服務(wù)端需要從 設(shè)置 → 應(yīng)用 →可選功能 中添加服務(wù)端,然后使用命令:net start sshd):

    如果我們正常添加了 SSH 服務(wù)端,那么在 C:\ProgramData\ssh 下就會(huì)找到各種配置文件,如下圖所示:

    此外,在 Windows 下,在用戶個(gè)人的配置文件在 用戶名/.ssh/config,優(yōu)先級(jí)高于全局配置文件。

    基本用法

    ??SSH 最常見的用途就是登錄服務(wù)器,這要求服務(wù)器安裝并正在運(yùn)行 SSH 服務(wù)器軟件。以上面介紹的 OpenSSH 工具,來簡(jiǎn)單介紹一下使用方法,從 Windows 遠(yuǎn)程登錄 Ubuntu。首先,Ubuntu 必須要先啟動(dòng) SSH 服務(wù)器,方法如上面說的。否則將收到如下錯(cuò)誤:

    ??最簡(jiǎn)單的 SSH 登錄服務(wù)器的命令是:ssh hostname,hostname 可以是 IP 地址,也可以是域名。同時(shí),我們還可以指定登錄遠(yuǎn)程服務(wù)器的用戶名,命令為:ssh username@hostname。用戶名也可以使用 SSH 的 -l 參數(shù)指定,這樣的話,用戶名和主機(jī)名就不用寫在一起了:ssh -l username hostname。此外,SSH 默認(rèn)的端口為 22,如果不使用默認(rèn)的端口,則需要 -p 參數(shù)可以指定其他端口:ssh -p 6666 hostname。

    ??如果是第一次連接某一臺(tái)服務(wù)器,命令行會(huì)顯示一段文字(如上圖),表示不認(rèn)識(shí)這臺(tái)機(jī)器,提醒用戶確認(rèn)是否需要連接。其中的 ECDSA key fingerprint is SHA256:NhIe5F7qTvYgV7INlL5k0WYj4vc+P22d9d5yyPuSlDM. 就是服務(wù)器的公鑰的哈希值。一旦用戶確認(rèn)連接之后,ssh 會(huì)將本機(jī)連接過的所有服務(wù)器公鑰的指紋,都儲(chǔ)存在本機(jī)的 ~/.ssh/known_hosts 文件中。每次連接服務(wù)器時(shí),通過該文件判斷是否為陌生主機(jī)(陌生公鑰)。

    SSL/TLS

    ??安全套接字層(Secure Socket Layer ,SSL)協(xié)議是一種認(rèn)證和加密技術(shù),通過伯克利套接字樣式 API 向 TCP 客戶提供安全服務(wù)。 最初是由 Netscape Communications Corporation(網(wǎng)景)公司開發(fā),用于給客戶端和服務(wù)器通信的 HTTP 協(xié)議加密,以保證安全。

    ??雖然 SSH 在網(wǎng)絡(luò)通信安全中很流行,但是它并不是唯一的保證網(wǎng)絡(luò)通信安全的方案。身份驗(yàn)證、加密和網(wǎng)絡(luò)安全早在 SSH 之前就已經(jīng)出現(xiàn)了,SSL/TLS 就是其中的一個(gè)非常流行安全解決方案。

    ??1999 年,互聯(lián)網(wǎng)標(biāo)準(zhǔn)化組織 ISOC 接替 NetScape 公司,發(fā)布了 SSL 的升級(jí)版 Transport Layer Security(TLS)1.0 版的標(biāo)準(zhǔn)文檔 RFC2246,并在后續(xù)修訂了多個(gè)版本。如下表是 SSL/TLS 不同版本的發(fā)布情況:

    協(xié)議發(fā)布日期狀態(tài)
    SSL1.01994網(wǎng)景公司制定,但并未對(duì)外發(fā)布
    SSL2.01995很快發(fā)現(xiàn)有嚴(yán)重漏洞,網(wǎng)景公司開始設(shè)計(jì)3.0。 2011 在 RFC6176 中被標(biāo)記為廢棄
    SSL3.019962015 在 RFC7568 中被標(biāo)記為廢棄
    TLS1.019992020 在 RFC8996 中被標(biāo)記為廢棄
    TLS1.120062020 在 RFC8996 中被標(biāo)記為廢棄
    TLS1.22008
    TLS1.32018

    ??TLS 和 SSL 就是一個(gè)東西,TLS 是 SSL 的改進(jìn)升級(jí)。當(dāng)前使用最多的是 TLS1.2 和 TLS1.3。在實(shí)際使用中,仍然有很多文獻(xiàn)使用 SSL 這個(gè)名字,或者使用 SSL/TLS。實(shí)際情況是,SSL3.0 發(fā)布至今沒有更新過,且被發(fā)現(xiàn)了很多漏洞,現(xiàn)在還少使用 SSL3.0 了。

    架構(gòu)

    ??SSL/TLS 協(xié)議采用主從式架構(gòu)模型,基本思路是采用公鑰加密法,即:客戶端先向服務(wù)器端索要公鑰,然后用公鑰加密信息,服務(wù)器收到密文后,用自己的私鑰解密。主要由 SSL record protocol、Handshake protocol、Change-cipher spec protocol、Alert protocol 組成。

    • SSL Record Protocol: SSL Record 為 SSL 連接提供了加密(加密方法由 Handshake Protocol 確定)和消息完整性校驗(yàn)這兩個(gè)功能。在 SSL 記錄協(xié)議中,應(yīng)用程序數(shù)據(jù)被分成片段。片段可選擇被壓縮,然后附加由 SHA(安全散列協(xié)議)和 MD5(消息摘要)生成的算法生成的加密 MAC(消息認(rèn)證碼)。之后,完成數(shù)據(jù)的加密,并且在最后加上一個(gè) SSL 報(bào)頭,最終形成一條完整的報(bào)文。
    • Handshake Protocol: 握手協(xié)議用于建立會(huì)話。該協(xié)議允許客戶端和服務(wù)器通過向?qū)Ψ桨l(fā)送一系列消息來彼此進(jìn)行身份驗(yàn)證。握手協(xié)議使用四個(gè)階段來完成其循環(huán)。
    • Change-cipher Protocol: 該協(xié)議使用 SSL Record Protocol。除非完成握手協(xié)議,否則 SSL記錄輸出將處于掛起狀態(tài)。握手協(xié)議完成后,掛起狀態(tài)轉(zhuǎn)換為當(dāng)前狀態(tài)。該 協(xié)議由單個(gè)消息組成,該消息長(zhǎng)度為 1 字節(jié),并且只能具有一個(gè)值。該協(xié)議的目的是使待定狀態(tài)復(fù)制到當(dāng)前狀態(tài)。
    • Alert Protocol: 該協(xié)議用于將 SSL 相關(guān)的警報(bào)傳達(dá)給對(duì)等實(shí)體。此協(xié)議中的每個(gè)消息包含 2 個(gè)字節(jié)。該層被進(jìn)一步分成告警(不影響雙方連接)和致命錯(cuò)誤(需要中斷雙方連接)兩部分。

    關(guān)于 SSL/TLS 協(xié)議 每部分中詳細(xì)的定義,可以參見 https://en.wikipedia.org/wiki/Transport_Layer_Security#Protocol_details。

    OpenSSL/LibreSSL

    ??SSL/TLS 協(xié)議的具體實(shí)現(xiàn),在不同的操作系統(tǒng)中有多種存在。OpenSSL 就是 SSL/TLS 協(xié)議的一個(gè)開源實(shí)現(xiàn)。下圖是維基百科整理的各種 SSL/TLS 協(xié)議 實(shí)現(xiàn)對(duì)于 SSL/TLS 協(xié)議 版本的支持情況:

    ??從上上一節(jié)的圖中可以看到,Ubuntu 中的 OpenSSH 使用是 OpenSSL 1.1.1f 提供的加密算法庫(kù)。 微軟在 Win10 中集成的 OpenSSH 使用的就是 LibreSSL 加密算法庫(kù)。OpenSSL 開源加密庫(kù)之前發(fā)現(xiàn)的漏洞影響遍及整個(gè)互聯(lián)網(wǎng)。OpenBSD 的開發(fā)者為此而創(chuàng)建了 OpenSSL的 分支 LibreSSL,用戶編譯時(shí)可選擇鏈接到 LibreSSL 庫(kù)。許多大型公司出于安全,效率等考慮,會(huì)將 OpenSSH 集成到自己系統(tǒng)之后,用自己實(shí)現(xiàn)的算法替換這個(gè)算法庫(kù)。

    ??Heartbleed 漏洞的披露讓人們意識(shí)到 OpenSSL 就是這樣一個(gè)組件。這促使 Linux 基金會(huì)發(fā)起了 Core Infrastructure Initiative 倡議,資助關(guān)鍵基礎(chǔ)組件的開發(fā)和維護(hù)。就目前來看,OpenSSL 的維護(hù)要比 LibreSSL 要積極一些。而且 Linux 對(duì)于 LibreSSL 的支持明顯不如 OpenSSL。具體見 Github:

    • OpenSSL: https://www.openssl.org/;官方 Github 庫(kù): https://github.com/openssl/openssl
    • LibreSSL: http://www.libressl.org/;官方 Github 庫(kù): https://github.com/libressl-portable/

    參考

  • https://www.cnblogs.com/qishui/p/5428938.html
  • https://segmentfault.com/a/1190000011395818
  • https://wangdoc.com/ssh/index.html
  • https://linuxtect.com/how-to-enable-ssh-on-ubuntu-all-versions/
  • https://cloud.tencent.com/developer/article/1721972
  • https://docstore.mik.ua/orelly/networking_2ndEd/ssh/index.htm
  • https://searchsecurity.techtarget.com/definition/Secure-Shell
  • https://developer.ibm.com/articles/au-sshsecurity/
  • https://www.ruanyifeng.com/blog/2014/02/ssl_tls.html
    10.https://en.wikipedia.org/wiki/Transport_Layer_Security
  • 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的Linux 之七 SSH、SSL、OpenSSH、OpenSSL、LibreSSL的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。