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