SSH工作过程简介和SSH协议算法集简介
SSH簡介
SSH是Secure Shell(安全外殼)的簡稱,是一種在不安全的網(wǎng)絡(luò)環(huán)境中,通過加密機制和認(rèn)證機制,實現(xiàn)安全的遠(yuǎn)程訪問以及文件傳輸?shù)葮I(yè)務(wù)的網(wǎng)絡(luò)安全協(xié)議。
SSH協(xié)議采用了典型的客戶端/服務(wù)器模式,并基于TCP協(xié)議協(xié)商建立用于保護(hù)數(shù)據(jù)傳輸?shù)臅捦ǖ馈SH協(xié)議有兩個版本,SSH1.x和SSH2.0(本文簡稱SSH1和SSH2),兩者互不兼容。SSH2在性能和安全性方面比SSH1有所提高。
SSH工作過程
|
階段 |
說明 |
|
連接建立 |
SSH服務(wù)器在22號端口偵聽客戶端的連接請求,在客戶端向服務(wù)器端發(fā)起連接請求后,雙方建立一個TCP連接 |
|
版本協(xié)商 |
雙方通過版本協(xié)商確定最終使用的SSH版本號 |
|
算法協(xié)商 |
SSH支持多種算法,雙方根據(jù)本端和對端支持的算法,協(xié)商出最終用于產(chǎn)生會話密鑰的密鑰交換算法、用于數(shù)據(jù)信息加密的加密算法、用于進(jìn)行數(shù)字簽名和認(rèn)證的公鑰算法,以及用于數(shù)據(jù)完整性保護(hù)的HMAC算法 |
|
密鑰交換 |
雙方通過DH(Diffie-Hellman Exchange)交換,動態(tài)地生成用于保護(hù)數(shù)據(jù)傳輸?shù)臅捗荑€和用來標(biāo)識該SSH連接的會話ID,并完成客戶端對服務(wù)器端的身份認(rèn)證 |
|
用戶認(rèn)證 |
SSH客戶端向服務(wù)器端發(fā)起認(rèn)證請求,服務(wù)器端對客戶端進(jìn)行認(rèn)證 |
|
會話請求 |
認(rèn)證通過后,SSH客戶端向服務(wù)器端發(fā)送會話請求,請求服務(wù)器提供某種類型的服務(wù)(目前支持Stelnet、SFTP、SCP、NETCONF),即請求與服務(wù)器建立相應(yīng)的會話 |
|
會話交互 |
會話建立后,SSH服務(wù)器端和客戶端在該會話上進(jìn)行數(shù)據(jù)信息的交互 該階段,用戶在客戶端可以通過粘貼文本內(nèi)容的方式執(zhí)行命令,但文本會話不能超過2000字節(jié),且粘貼的命令最好是同一視圖下的命令,否則服務(wù)器可能無法正確執(zhí)行該命令。如果粘貼的文本會話超過2000字節(jié),可以采用將配置文件通過SFTP方式上傳到服務(wù)器,利用新的配置文件重新啟動的方式執(zhí)行這些命令 |
本地密鑰對
功能簡介
服務(wù)器端的DSA、ECDSA或RSA密鑰對有兩個用途,其一是用于在密鑰交換階段生成會話密鑰和會話ID,另外一個是客戶端用它來對連接的服務(wù)器進(jìn)行認(rèn)證。客戶端驗證服務(wù)器身份時,首先判斷服務(wù)器發(fā)送的公鑰與本地保存的服務(wù)器公鑰是否一致,確認(rèn)服務(wù)器公鑰正確后,再使用該公鑰對服務(wù)器發(fā)送的數(shù)字簽名進(jìn)行驗證。
雖然一個客戶端只會采用DSA、ECDSA或RSA公鑰算法中的一種來認(rèn)證服務(wù)器,但是由于不同客戶端支持的公鑰算法不同,為了確保客戶端能夠成功登錄服務(wù)器,建議在服務(wù)器上同時生成DSA、ECDSA和RSA三種密鑰對。
生成RSA密鑰對時,將同時生成兩個密鑰對——服務(wù)器密鑰對和主機密鑰對。SSH1利用SSH服務(wù)器端的服務(wù)器公鑰加密會話密鑰,以保證會話密鑰傳輸?shù)陌踩籗SH2通過DH算法在SSH服務(wù)器和SSH客戶端上生成會話密鑰,不需要傳輸會話密鑰,因此SSH2中沒有利用服務(wù)器密鑰對。
生成DSA密鑰對時,只生成一個主機密鑰對。SSH1不支持DSA算法。
生成ECDSA密鑰對時,只生成一個主機密鑰對
SSH協(xié)議算法集簡介
設(shè)備作為服務(wù)器或者客戶端與對端建立Stelnet、SFTP、SCP會話過程中,將使用指定的算法優(yōu)先列表進(jìn)行協(xié)商。指定的算法包括:
密鑰交換算法
主機簽名算法
加密算法
MAC算法
協(xié)商過程中,客戶端采用的算法匹配順序為優(yōu)先列表中各算法的配置順序,服務(wù)器根據(jù)客戶端的算法來匹配和協(xié)商。
H3C高端設(shè)備配置SSH2協(xié)議密鑰交換算法優(yōu)先列表
(1)進(jìn)入系統(tǒng)視圖。
system-view
(2)配置SSH2協(xié)議密鑰交換算法優(yōu)先列表。
(非FIPS模式)
ssh2 algorithm key-exchange{dh-group-exchange-sha1|dh-group1-sha1|dh-group14-sha1|ecdh-sha2-nistp256|ecdh-sha2-nistp384}*
缺省情況下,SSH2協(xié)議采用的缺省密鑰交換算法從高到底的優(yōu)先級列表為ecdh-sha2-nistp256、ecdh-sha2-nistp384、dh-group-exchange-sha1、dh-group14-sha1和dh-group1-sha1。
(FIPS模式)
ssh2 algorithm key-exchange{dh-group14-sha1|ecdh-sha2-nistp256|ecdh-sha2-nistp384}*
缺省情況下,SSH2協(xié)議采用的缺省密鑰交換算法從高到底的優(yōu)先級列表為ecdh-sha2-nistp256、ecdh-sha2-nistp384和dh-group14-sha1。
H3C高端設(shè)備配置SSH2協(xié)議主機簽名算法優(yōu)先列表
(1)進(jìn)入系統(tǒng)視圖。
system-view
(2)配置SSH2協(xié)議主機簽名算法優(yōu)先列表。
(非FIPS模式)
ssh2 algorithm public-key{dsa|ecdsa-sha2-nistp256|ecdsa-sha2-nistp384|rsa|x509v3-ecdsa-sha2-nistp256|x509v3-ecdsa-sha2-nistp384}*
缺省情況下,SSH2協(xié)議使用的缺省主機簽名算法從高到底的優(yōu)先級列表為x509v3-ecdsa-sha2-nistp256、x509v3-ecdsa-sha2-nistp384、ecdsa-sha2-nistp256、ecdsa-sha2-nistp384、rsa和dsa。
(FIPS模式)
ssh2 algorithm public-key{ecdsa-sha2-nistp256|ecdsa-sha2-nistp384|rsa|x509v3-ecdsa-sha2-nistp256|x509v3-ecdsa-sha2-nistp384}*
缺省情況下,SSH2協(xié)議使用的缺省主機簽名算法從高到底的優(yōu)先級列表為x509v3-ecdsa-sha2-nistp256、x509v3-ecdsa-sha2-nistp384、ecdsa-sha2-nistp256、ecdsa-sha2-nistp384和rsa。
H3C高端設(shè)備配置SSH2協(xié)議加密算法優(yōu)先列表
(1)進(jìn)入系統(tǒng)視圖。
system-view
(2)配置SSH2協(xié)議加密算法優(yōu)先列表。
(非FIPS模式)
ssh2 algorithm cipher{3des-cbc|aes128-cbc|aes128-ctr|aes128-gcm|aes192-ctr|aes256-cbc|aes256-ctr|aes256-gcm|des-cbc}*
缺省情況下,SSH2協(xié)議采用的缺省加密算法從高到底的優(yōu)先級列表為aes128-ctr、aes192-ctr、aes256-ctr、aes128-gcm、aes256-gcm、aes128-cbc、3des-cbc、aes256-cbc和des-cbc。
(FIPS模式)
ssh2 algorithm cipher{aes128-cbc|aes128-ctr|aes128-gcm|aes192-ctr|aes256-cbc|aes256-ctr|aes256-gcm}*
缺省情況下,SSH2協(xié)議采用的缺省加密算法從高到底的優(yōu)先級列表為aes128-ctr、aes192-ctr、aes256-ctr、aes128-gcm、aes256-gcm、aes128-cbc和aes256-cbc。
H3C高端設(shè)備配置SSH2協(xié)議MAC算法優(yōu)先列表
(1)進(jìn)入系統(tǒng)視圖。
system-view
(2)配置SSH2協(xié)議MAC算法優(yōu)先列表。
(非FIPS模式)
ssh2 algorithm mac{md5|md5-96|sha1|sha1-96|sha2-256|sha2-512}*
缺省情況下,SSH2協(xié)議使用的缺省MAC算法從高到底的優(yōu)先級列表為sha2-256、sha2-512、sha1、md5、sha1-96和md5-96。
(FIPS模式)
ssh2 algorithm mac{sha1|sha1-96|sha2-256|sha2-512}*
缺省情況下,SSH2協(xié)議使用的缺省MAC算法從高到底的優(yōu)先級列表為sha2-256、sha2-512、sha1和sha1-96。
總結(jié)
以上是生活随笔為你收集整理的SSH工作过程简介和SSH协议算法集简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CSS/css3奇淫技巧
- 下一篇: dvaJS Model之间的调用