ssh用于遠程登錄到Linux服務(wù)器來管理維護系統(tǒng)。SSH是專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議;使用ssh服務(wù)(指實現(xiàn)SSH協(xié)議的軟件)可遠程登錄到服務(wù)器來管理維護系統(tǒng),防止遠程管理過程中的信息泄露問題。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
1 linux中什么是 ssh?有什么用?
(1)ssh 是一種協(xié)議
SSH(Secure Shell) 是較可靠,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題。
(2)ssh 服務(wù)
Linux 一般作為服務(wù)器使用,我們通常使用 ssh 服務(wù)(指實現(xiàn) SSH 協(xié)議的軟件)遠程登錄到 Linux 服務(wù)器來管理維護系統(tǒng)。
- OpenSSH 是 SSH (Secure SHell) 協(xié)議的免費開源實現(xiàn)。
- OpenSSH 的服務(wù)端:sshd(Linux 服務(wù)器啟動該服務(wù))
- OpenSSH 的客戶端:ssh(客戶端啟動,通過它來訪問服務(wù)端)
2 ssh 基于密匙的安全驗證過程是怎樣的?
需要創(chuàng)建一對密匙,把公用密匙放在服務(wù)器上。連接SSH服務(wù)器時,客戶端向服務(wù)器發(fā)出請求,用你的放的公鑰匙進行安全驗證,服務(wù)器收到請求之后,先在該服務(wù)器上你的主目錄下尋找你的公匙,然后把它和你發(fā)送過來的公用密匙進行比較。如果兩個密匙一致,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件??蛻舳塑浖盏健百|(zhì)詢”之后就可以用你的私匙解密。
3 對稱加密與非對稱加密區(qū)別是什么?
(1)對稱加密
加密(encryption)與解密(decryption)用的是同樣的密鑰(secret key)。效率高,對稱加密的一大缺點是密鑰的管理與分配,在發(fā)送密鑰的過程中,密鑰有很大的風(fēng)險會被黑客們攔截?,F(xiàn)實中通常的做法是將對稱加密的密鑰進行非對稱加密,然后傳送給需要它的人。
(2)非對稱加密
非對稱加密為數(shù)據(jù)的加密與解密提供了一個非常安全的方法,它使用了一對密鑰,公鑰(public key)和私鑰(private key)。私鑰只能由一方安全保管,不能外泄,而公鑰則可以發(fā)給任何請求它的人。非對稱加密使用這對密鑰中的一個進行加密,而解密則需要另一個密鑰。目前最常用的非對稱加密算法是RSA 算法。雖然非對稱加密很安全,但是和對稱加密比起來,它非常的慢,所以我們還是要用對稱加密來傳送消息,但對稱加密所使用的密鑰我們可以通過非對稱加密的方式發(fā)送出去。
4 非對稱加密 RSA 算法的作用
(1)加密:公鑰加密私鑰解密
主要用于將數(shù)據(jù)資料加密不被其他人非法獲取,保證數(shù)據(jù)安全性。使用公鑰將數(shù)據(jù)資料加密,只有私鑰可以解密。即使密文在網(wǎng)絡(luò)上被第三方獲取由于沒有私鑰則無法解密,從而保證數(shù)據(jù)安全性。
- A 在自己電腦上生成 RSA 鑰匙文件,一個私鑰文件一個公鑰文件,并將他的公鑰傳送給 B。
- 此時 B 要傳送信息給 A,于是 B 用 A 的公鑰加密他的消息,然后傳送給A。(網(wǎng)絡(luò)上傳輸?shù)拿芪?,沒有 A 的私鑰無法解密,其他人獲取之后也沒用)
- A 用他的私鑰解密 B 的消息。
(2)認證:私鑰加密公鑰解密
主要用于身份驗證,判斷某個身份的真實性。使用私鑰加密之后,用對應(yīng)的公鑰解密從而驗證身份真實性。
SSH 公鑰登錄則用的是第二種功能。
5 如何生成 ssh 密鑰對?
- 運行完上面的命令會生成一對公私鑰,默認保存在 ~/.ssh/ 下的 id_rsa,id_rsa.pub。
- id_rsa 是私鑰,id_rsa.pub 是公鑰,私鑰一定要妥善保管。
- id_rsa 的權(quán)限必須是 600 , chmod 600 ~/.ssh/id_rsa。600 即(-rw——)只有所有者才有讀和寫的權(quán)限。
6 ssh 配置 config 文件與快捷登陸
(1)快捷登陸配置
在 ~/.ssh/ 下可以自己定義一些快捷鍵登陸的配置,該配置在 ~/.ssh/config
config 結(jié)構(gòu)如下:
Host kafka_broker_01 #定義主機別名 ServerAliveInterval 30 HostName 122.22.222.102 #主機ip Port 33033 #ssh 端口 User bila #用戶名 IdentityFile /Users/bila/.ssh/id_rsa #私鑰 ProxyCommand ssh w_x_bastion -C -W %h:%p #設(shè)置跳板機
(2) 登陸
指定用戶登錄
ssh bila@192.168.0.103
指定端口號登錄
ssh ssh 192.168.0.103 -p 2022