Linux安全運(yùn)維進(jìn)階:SSH 無縫切換遠(yuǎn)程加密
一、了解SSH
1.隨便說說
SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。SSH最初是UNIX系統(tǒng)上的一個程序,后來又迅速擴(kuò)展到其他操作平臺。SSH在正確使用時可彌補(bǔ)網(wǎng)絡(luò)中的漏洞。SSH客戶端適用于多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運(yùn)行SSH。
2.過關(guān)
從客戶端來看,SSH提供兩種級別的安全驗(yàn)證。
第一種級別(基于口令的安全驗(yàn)證)
只要你知道自己帳號和口令,就可以登錄到遠(yuǎn)程主機(jī)。所有傳輸?shù)臄?shù)據(jù)都會被加密,但是不能保證你正在連接的服務(wù)器就是你想連接的服務(wù)器。可能會有別的服務(wù)器在冒充真正的服務(wù)器,也就是受到“中間人”這種方式的×××。
第二種級別(基于密匙的安全驗(yàn)證)
需要依靠密匙,也就是你必須為自己創(chuàng)建一對密匙,并把公用密匙放在需要訪問的服務(wù)器上。如果你要連接到SSH服務(wù)器上,客戶端軟件就會向服務(wù)器發(fā)出請求,請求用你的密匙進(jìn)行安全驗(yàn)證。服務(wù)器收到請求之后,先在該服務(wù)器上你的主目錄下尋找你的公用密匙,然后把它和你發(fā)送過來的公用密匙進(jìn)行比較。如果兩個密匙一致,服務(wù)器就用公用密匙加密“質(zhì)詢”(challenge)并把它發(fā)送給客戶端軟件??蛻舳塑浖盏?ldquo;質(zhì)詢”之后就可以用你的私人密匙解密再把它發(fā)送給服務(wù)器。
用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網(wǎng)絡(luò)上傳送口令。
第二種級別不僅加密所有傳送的數(shù)據(jù),而且“中間人”這種×××方式也是不可能的(因?yàn)樗麤]有你的私人密匙)。但是整個登錄的過程可能需要10秒
3.層次
SSH 主要由三部分組成:
傳輸層協(xié)議 [SSH-TRANS]
提供了服務(wù)器認(rèn)證,保密性及完整性。此外它有時還提供壓縮功能。 SSH-TRANS 通常運(yùn)行在TCP/IP連接上,也可能用于其它可靠數(shù)據(jù)流上。 SSH-TRANS 提供了強(qiáng)力的加密技術(shù)、密碼主機(jī)認(rèn)證及完整性保護(hù)。該協(xié)議中的認(rèn)證基于主機(jī),并且該協(xié)議不執(zhí)行用戶認(rèn)證。更高層的用戶認(rèn)證協(xié)議可以設(shè)計為在此協(xié)議之上。
用戶認(rèn)證協(xié)議 [SSH-USERAUTH]
用于向服務(wù)器提供客戶端用戶鑒別功能。它運(yùn)行在傳輸層協(xié)議 SSH-TRANS 上面。當(dāng)SSH-USERAUTH 開始后,它從低層協(xié)議那里接收會話標(biāo)識符(從第一次密鑰交換中的交換哈希H )。會話標(biāo)識符唯一標(biāo)識此會話并且適用于標(biāo)記以證明私鑰的所有權(quán)。 SSH-USERAUTH 也需要知道低層協(xié)議是否提供保密性保護(hù)。
連接協(xié)議 [SSH-CONNECT]
將多個加密隧道分成邏輯通道。它運(yùn)行在用戶認(rèn)證協(xié)議上。它提供了交互式登錄話路、遠(yuǎn)程命令執(zhí)行、轉(zhuǎn)發(fā) TCP/IP 連接和轉(zhuǎn)發(fā) X11 連接。
二、事前準(zhǔn)備
1.簡單說一句
ssh命令是openssh套件中的客戶端連接工具,可以給予ssh加密協(xié)議實(shí)現(xiàn)安全的遠(yuǎn)程登錄服務(wù)器。
2.常用語法:
ssh(選項(xiàng))(參數(shù))
- -1:強(qiáng)制使用ssh協(xié)議版本1;
- -2:強(qiáng)制使用ssh協(xié)議版本2;
- -4:強(qiáng)制使用IPv4地址;
- -6:強(qiáng)制使用IPv6地址;
- -A:開啟認(rèn)證代理連接轉(zhuǎn)發(fā)功能;
- -a:關(guān)閉認(rèn)證代理連接轉(zhuǎn)發(fā)功能;
- -b:使用本機(jī)指定地址作為對應(yīng)連接的源ip地址;
- -C:請求壓縮所有數(shù)據(jù);
- -F:指定ssh指令的配置文件;
- -f:后臺執(zhí)行ssh指令;
- -g:允許遠(yuǎn)程主機(jī)連接主機(jī)的轉(zhuǎn)發(fā)端口;
- -i:指定身份文件;
- -l:指定連接遠(yuǎn)程服務(wù)器登錄用戶名;
- -N:不執(zhí)行遠(yuǎn)程指令;
- -o:指定配置選項(xiàng);
- -p:指定遠(yuǎn)程服務(wù)器上的端口;
- -q:靜默模式;
- -X:開啟X11轉(zhuǎn)發(fā)功能;
- -x:關(guān)閉X11轉(zhuǎn)發(fā)功能;
- -y:開啟信任X11轉(zhuǎn)發(fā)功能。
3.官方語法
- usage: ssh [-1246AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
- [-D [bind_address:]port] [-E log_file] [-e escape_char]
- [-F configfile] [-I pkcs11] [-i identity_file]
- [-J [user@]host[:port]] [-L address] [-l login_name] [-m mac_spec]
- [-O ctl_cmd] [-o option] [-p port] [-Q query_option] [-R address]
- [-S ctl_path] [-W host:port] [-w local_tun[:remote_tun]]
- [user@]hostname [command]
三、一頓操作(快速連接)
1.下載安裝XSHELL
Google一下
2.新建連接會話
3.設(shè)置用戶身份驗(yàn)證(默認(rèn)選擇Password)
4.連接服務(wù)器
四、無縫連接
1.確認(rèn)兩臺服務(wù)器信息
2.設(shè)置hosts配置域名映射
3.生成密鑰
4.拷貝密鑰到另一臺主機(jī)
5.查看服務(wù)器的密鑰
6.無密碼加密連接
五、回顧
1.解析.ssh目錄下的奧秘
- [root@web1 .ssh]# tree -l.
- ├── authorized_keys #web1主機(jī)上的認(rèn)證文件:記錄登錄密鑰├── id_rsa #web1主機(jī)的私鑰├── id_rsa.pub #web1主機(jī)的公鑰└── known_hosts #記錄登錄到web1的服務(wù)key:校驗(yàn)作用0 directories, 4 files
- [root@web1 .ssh]#
2.操作解密
步驟如下:web1服務(wù)器生成密鑰--》復(fù)制web1的公鑰到web2--》輸入web2服務(wù)器密碼--》web1公鑰加入到web2的認(rèn)證文件--》web1無密碼連接web2--》生成web1的校驗(yàn)密鑰到known_hosts--》web2服務(wù)器校驗(yàn)known_hosts與 authorized_keys文件是否匹配--》匹配就允許登錄,反之拒絕--》web2無密碼連接web1,同理。



































