進階運維:SSH無縫切換遠程加密

一、瞭解SSH

1.隨便說說

SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲建立在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其他操作平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎所有UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平臺,都可運行SSH。

2.過關

從客戶端來看,SSH提供兩種級別的安全驗證。
第一種級別(基於口令的安全驗證)
只要你知道自己帳號和口令,就可以登錄到遠程主機。所有傳輸的數據都會被加密,但是不能保證你正在連接的服務器就是你想連接的服務器。可能會有別的服務器在冒充真正的服務器,也就是受到“中間人”這種方式的×××。

第二種級別(基於密匙的安全驗證)
需要依靠密匙,也就是你必須爲自己創建一對密匙,並把公用密匙放在需要訪問的服務器上。如果你要連接到SSH服務器上,客戶端軟件就會向服務器發出請求,請求用你的密匙進行安全驗證。服務器收到請求之後,先在該服務器上你的主目錄下尋找你的公用密匙,然後把它和你發送過來的公用密匙進行比較。如果兩個密匙一致,服務器就用公用密匙加密“質詢”(challenge)並把它發送給客戶端軟件。客戶端軟件收到“質詢”之後就可以用你的私人密匙解密再把它發送給服務器。
用這種方式,你必須知道自己密匙的口令。但是,與第一種級別相比,第二種級別不需要在網絡上傳送口令。
第二種級別不僅加密所有傳送的數據,而且“中間人”這種×××方式也是不可能的(因爲他沒有你的私人密匙)。但是整個登錄的過程可能需要10秒

3.層次

SSH 主要由三部分組成:
傳輸層協議 [SSH-TRANS]
提供了服務器認證,保密性及完整性。此外它有時還提供壓縮功能。 SSH-TRANS 通常運行在TCP/IP連接上,也可能用於其它可靠數據流上。 SSH-TRANS 提供了強力的加密技術、密碼主機認證及完整性保護。該協議中的認證基於主機,並且該協議不執行用戶認證。更高層的用戶認證協議可以設計爲在此協議之上。

用戶認證協議 [SSH-USERAUTH]
用於向服務器提供客戶端用戶鑑別功能。它運行在傳輸層協議 SSH-TRANS 上面。當SSH-USERAUTH 開始後,它從低層協議那裏接收會話標識符(從第一次密鑰交換中的交換哈希H )。會話標識符唯一標識此會話並且適用於標記以證明私鑰的所有權。 SSH-USERAUTH 也需要知道低層協議是否提供保密性保護。

連接協議 [SSH-CONNECT]
將多個加密隧道分成邏輯通道。它運行在用戶認證協議上。它提供了交互式登錄話路、遠程命令執行、轉發 TCP/IP 連接和轉發 X11 連接。

二、事前準備

1.簡單說一句

ssh命令是openssh套件中的客戶端連接工具,可以給予ssh加密協議實現安全的遠程登錄服務器。

2.常用語法:

ssh(選項)(參數)
-1:強制使用ssh協議版本1;
-2:強制使用ssh協議版本2;
-4:強制使用IPv4地址;
-6:強制使用IPv6地址;
-A:開啓認證代理連接轉發功能;
-a:關閉認證代理連接轉發功能;
-b:使用本機指定地址作爲對應連接的源ip地址;
-C:請求壓縮所有數據;
-F:指定ssh指令的配置文件;
-f:後臺執行ssh指令;
-g:允許遠程主機連接主機的轉發端口;
-i:指定身份文件;
-l:指定連接遠程服務器登錄用戶名;
-N:不執行遠程指令;
-o:指定配置選項;
-p:指定遠程服務器上的端口;
-q:靜默模式;
-X:開啓X11轉發功能;
-x:關閉X11轉發功能;
-y:開啓信任X11轉發功能。

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

http://gddx.3322.cc/Xshell6_38359.zip

2.新建連接會話

進階運維:SSH無縫切換遠程加密

3.設置用戶身份驗證(默認選擇Password)

進階運維:SSH無縫切換遠程加密

4.連接服務器

進階運維:SSH無縫切換遠程加密

四、無縫連接

1.確認兩臺服務器信息

進階運維:SSH無縫切換遠程加密

2.設置hosts配置域名映射

進階運維:SSH無縫切換遠程加密

3.生成密鑰

進階運維:SSH無縫切換遠程加密

4.拷貝密鑰到另一臺主機

進階運維:SSH無縫切換遠程加密

5.查看服務器的密鑰

進階運維:SSH無縫切換遠程加密

6.無密碼加密連接

進階運維:SSH無縫切換遠程加密

五、回顧

1.解析.ssh目錄下的奧祕

[root@web1 .ssh]# tree -l
.
├── authorized_keys    #web1主機上的認證文件:記錄登錄密鑰
├── id_rsa            #web1主機的私鑰
├── id_rsa.pub        #web1主機的公鑰
└── known_hosts      #記錄登錄到web1的服務key:校驗作用
0 directories, 4 files
[root@web1 .ssh]# 

2.操作解密

步驟如下:web1服務器生成密鑰--》複製web1的公鑰到web2--》輸入web2服務器密碼--》web1公鑰加入到web2的認證文件--》web1無密碼連接web2--》生成web1的校驗密鑰到known_hosts--》web2服務器校驗known_hosts與 authorized_keys文件是否匹配--》匹配就允許登錄,反之拒絕--》web2無密碼連接web1,同理。

更多的博客轉移到個人博客上了,請點擊以下鏈接:
個人博客

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章