SSH遠程管理
阿新 • • 發佈:2018-08-01
替換 etc 計算 禁止 是否 驗證 圖片 防火 conf SSH服務簡介:
SSH是指Secure Shell的縮寫。
它是一個構建在應用層和傳輸層基礎上的安全協議,為計算機是上的shell提供安全的傳輸和使用環境。利用SSH協議可以有效防止遠程管理過程中信息泄露問題,還能夠防止DNS欺騙和IP欺騙。
SSH可以對傳輸的數據進行壓縮,從而加快傳輸速度。
SSH可以替換Telnet,還可以進行文件傳輸,替換ftp。
主配置文件默認位於/etc/ssh/sshd_config目錄下。調整相關配置項可以提高遠程登錄的安全性。
接下來進行試驗:
試驗環境:在VM虛擬機開啟兩臺Redhat6.5 , 一臺root@redhat1作為客戶端,一臺root@redhat2作為服務端。
1.我們先查看一下ssh服務有沒有安裝,並且編輯ssh服務的配置文件,開啟sshd配置文件中的密鑰對驗證權限。指定公鑰數據庫文件。
首先開啟客戶端權限:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/5bd15da550dfd57e5a7308a96ba567a3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/cee1cf2626a8d8e493034feac09e0a40.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.然後開啟ssh服務,關閉防火墻,關閉增強性安全功能:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/34e92d7d99aa8b3ba6d87a3c02ff64ab.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3.同時服務端也需要進行相應的配置文件修改,開啟權限:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/e55d6d50762438838ae7dbb402e1f126.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/5d31541d59d2faf8f83db854d86cd421.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.配置文件修改完成後,同樣的需要開啟ssh服務,關閉防火墻,關閉增強性安全功能:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/f38a5353f159a5d6ba7adfeb9685823d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
5.在客戶端新建一個用戶zhangsan:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/ac5b90057a3d45ace4a3245142418b90.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6.接下來在客戶端創建密鑰對:
ssh-Keygen命令
可用的加密算法:RSA或DSA
我們在客戶端將登錄用戶切換到zhangsan,然後創建密鑰對文件:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/178792d9ea6d1d0afa4be80043fe66d9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
7.接下來將公鑰文件上傳至服務器:、
先在服務端添加一個用戶:wnagwu
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/3674ea51242c85469288605fb846f5e6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
8.接下來將公鑰上傳至服務器:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/0ce6142719c6162cf7e9d86c4709c9d8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
9.接下來在服務器上查看目標用戶wangwu的公鑰數據庫:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/13707a2dde807431996b7fb05e88c61c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
10.然後在客戶端使用密鑰對 進行驗證(上邊忘記設置私鑰):
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/9ea7c67b1a073c6d2b582e552c0c61ad.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
11.此外我們還可以在客戶機上設置ssh代理功能,不需要輸入密碼就能訪問:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/20389d7ae86f59204342e8bfc68ae20a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
註:使用密鑰對驗證的方式登錄時不需要知道目標用戶的密碼,而是改為驗證客戶端用戶的私鑰短語並檢查對方的私鑰,公鑰文件是否匹配,這樣安全性更好。 TCP Wrappers機制可以為網絡服務提供額外安全保護,訪問策略配置文件為/etc/hosts.allow、 /etc/hosts.deny
SSH是指Secure Shell的縮寫。
它是一個構建在應用層和傳輸層基礎上的安全協議,為計算機是上的shell提供安全的傳輸和使用環境。利用SSH協議可以有效防止遠程管理過程中信息泄露問題,還能夠防止DNS欺騙和IP欺騙。
SSH可以對傳輸的數據進行壓縮,從而加快傳輸速度。
SSH可以替換Telnet,還可以進行文件傳輸,替換ftp。
主配置文件默認位於/etc/ssh/sshd_config目錄下。調整相關配置項可以提高遠程登錄的安全性。
接下來進行試驗:
試驗環境:在VM虛擬機開啟兩臺Redhat6.5 , 一臺root@redhat1作為客戶端,一臺root@redhat2作為服務端。
首先開啟客戶端權限:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/5bd15da550dfd57e5a7308a96ba567a3.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/cee1cf2626a8d8e493034feac09e0a40.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
2.然後開啟ssh服務,關閉防火墻,關閉增強性安全功能:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/34e92d7d99aa8b3ba6d87a3c02ff64ab.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
3.同時服務端也需要進行相應的配置文件修改,開啟權限:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/e55d6d50762438838ae7dbb402e1f126.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/5d31541d59d2faf8f83db854d86cd421.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
4.配置文件修改完成後,同樣的需要開啟ssh服務,關閉防火墻,關閉增強性安全功能:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/f38a5353f159a5d6ba7adfeb9685823d.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
5.在客戶端新建一個用戶zhangsan:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/ac5b90057a3d45ace4a3245142418b90.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
6.接下來在客戶端創建密鑰對:
ssh-Keygen命令
可用的加密算法:RSA或DSA
我們在客戶端將登錄用戶切換到zhangsan,然後創建密鑰對文件:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/178792d9ea6d1d0afa4be80043fe66d9.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
7.接下來將公鑰文件上傳至服務器:、
先在服務端添加一個用戶:wnagwu
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/3674ea51242c85469288605fb846f5e6.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
8.接下來將公鑰上傳至服務器:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/0ce6142719c6162cf7e9d86c4709c9d8.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
9.接下來在服務器上查看目標用戶wangwu的公鑰數據庫:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/13707a2dde807431996b7fb05e88c61c.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
10.然後在客戶端使用密鑰對 進行驗證(上邊忘記設置私鑰):
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/9ea7c67b1a073c6d2b582e552c0c61ad.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
11.此外我們還可以在客戶機上設置ssh代理功能,不需要輸入密碼就能訪問:
![技術分享圖片](http://i2.51cto.com/images/blog/201808/01/20389d7ae86f59204342e8bfc68ae20a.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
註:使用密鑰對驗證的方式登錄時不需要知道目標用戶的密碼,而是改為驗證客戶端用戶的私鑰短語並檢查對方的私鑰,公鑰文件是否匹配,這樣安全性更好。
總結:
SSH服務支持兩種登錄驗證方式:密碼驗證、密鑰對驗證
SSH服務的安全控制包括修改監聽端口、禁止root用戶或空口令用戶的登錄、僅允許個別用戶、采用密鑰對驗證等。
構建SSH密鑰對驗證體系時,需要將客戶端的公鑰發送給服務器,並將其導入目標用戶的authorized_keys文件中。
SSH遠程管理