五、SSH遠程管理服務 (一)遠程管理服務知識介紹 1) SSH遠程登錄服務介紹說明 2) SSH遠程登錄服務功能作用 3) SSH遠程登錄服務排錯思路 (二)Telnet遠程登錄服務功能作用 1、SSH遠程登錄服務特點說明 01、SSH服務埠信息為22 02、SSH服務採用密文方式傳輸數據 03 ...
五、SSH遠程管理服務
(一)遠程管理服務知識介紹
1) SSH遠程登錄服務介紹說明
SSH是Secure Shell Protocol的簡寫,由 IETF 網路工作小組(Network Working Group)制定;
在進行數據傳輸之前,SSH先對聯機數據包通過加密技術進行加密處理,加密後在進行數據傳輸。
確保了傳遞的數據安全。
SSH是專為遠程登錄會話和其他網路服務提供的安全性協議。
利用SSH協議可以有效的防止遠程管理過程中的信息泄露問題,在當前的生產環境運維工作中,
絕大多數企業普遍採用SSH協議服務來代替傳統的不安全的遠程聯機服務軟體,如telnet(23埠,非加密的)等。
2) SSH遠程登錄服務功能作用
a 一是提供類似telnet遠程聯機伺服器的服務,即上面提到的SSH服務;
b 另一個是類似FTP服務的sftp-server,藉助SSH協議來傳輸數據的,提供更安全的SFTP服務(vsftp,proftp)。
3) SSH遠程登錄服務排錯思路
01. 檢查鏈路是否通暢---ping(icmp)/tracert/traceroute
02. 檢查鏈路是否阻斷---將防火牆功能關閉
03. 檢查服務是否開啟---ss/netstat -lntup(服務端檢查) /telnet/nmap/nc(客戶端檢查)
(二)Telnet遠程登錄服務功能作用
1、SSH遠程登錄服務特點說明
01、SSH服務埠信息為22
02、SSH服務採用密文方式傳輸數據
03、SSH服務預設支持root用戶進行遠程登錄
2、Telnet遠程登錄服務功能作用
01、telnet服務埠信息為23
02、telnet服務採用明文方式傳輸數據
03、telnet服務預設不支持root用戶進行遠程登錄
(三)遠程管理服務概念詳解
1)SSH遠程管理服務加密技術
ssh連接登錄過程
①. ssh客戶端發出連接請求
>/root/.ssh/known_hosts
②. ssh服務端會發出確認信息,詢問客戶端你是否真的要連接我
③. ssh客戶端輸入完成yes,會等到一個公鑰信息
cat /root/.ssh/known_hosts
④. ssh服務端將公鑰信息發送給ssh客戶端
⑤. ssh客戶端利用密碼進行登錄
加密技術分為v1和v2兩個版本
sshv1版本不會經常更換鎖頭和鑰匙,因此會有安全隱患
sshv2版本會經常更換鎖頭和鑰匙,因此提高了遠程連接安全性
2)SSH遠程管理服務認證類型
基於密鑰方式實現遠程登錄
①. ssh管理伺服器上創建密鑰對信息(公鑰 私鑰)
②. ssh管理伺服器上將公鑰發送給被管理伺服器
③. ssh管理伺服器向被管理伺服器發送連接請求
④. ssh被管理伺服器向管理伺服器發送公鑰質詢
⑤. ssh管理伺服器處理公鑰質詢請求,將公鑰質詢結果發送給被管理主機
⑥. ssh被管理伺服器接收公鑰質詢響應信息,從而確認認證成功
⑦. ssh管理服務端可以和被管理服務端建立基於密鑰連接登錄
(四)基於密鑰登錄方式部署流程
第一個裡程:在管理主機上創建密鑰對信息
ssh-keygen -t dsa <-- 創建密鑰對命令 -t dsa表示指定密鑰對加密類型
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): <-- 確認私鑰文件所保存的路徑
/root/.ssh/id_dsa already exists.
Overwrite (y/n)? y <-- 如果已經存在了密鑰對信息,是否進行覆蓋
Enter passphrase (empty for no passphrase): <-- 確認是否給私鑰設置密碼信息(一般為空)
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_dsa.
Your public key has been saved in /root/.ssh/id_dsa.pub.
The key fingerprint is:
46:c8:21:b9:99:6e:0c:59:39:66:38:7a:97:29:51:76 root@m01
The key's randomart image is:
+--[ DSA 1024]----+
| o+oE |
| +.B+ o |
| . B Bo . |
|. = B . |
| . * S |
| + . |
| . |
| |
| |
+-----------------+
第二個裡程:將管理主機上公鑰信息發送給被管理主機
ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
[email protected]'s password:
Now try logging into the machine, with "ssh '172.16.1.31'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
第三個裡程:進行遠程管理測試(基於密鑰的方式進行遠程管理)
ssh 172.16.1.31 <-- 可以不用輸入密碼信息,就能登陸成功
ssh 172.16.1.31 uptime <-- 可以不用登陸到遠程主機,就可以直接查看遠程主機信息
(五)SSH服務端配置文件信息說明(/etc/ssh/sshd_config)
Port 52113 <- 修改ssh服務埠號信息
ListenAddress 0.0.0.0 <- 主要作用提升網路連接安全性
PS:監聽地址只能配置為伺服器網卡上擁有的地址
PermitRootLogin no <- 是否允許root用戶遠程登錄
PermitEmptyPasswords no <- 是否允許空密碼
UseDNS no <- 是否進行DNS反向解析(提升ssh遠程連接效率)
GSSAPIAuthentication no <- 是否進行遠程GSSAPI認證(提升ssh遠程連接效率)
(六)sftp常用操作命令總結
bye Quit sftp <-- 表示退出sftp傳輸模式
cd path Change remote directory to 'path' <-- 改變遠程目錄信息
pwd Display remote working directory <-- 顯示遠程主機當前目錄信息
lcd path Change local directory to 'path' <-- 改變本地目錄路徑信息
lpwd Print local working directory <-- 輸出本地目錄路徑信息
get [-P] remote-path [local-path]
Download file <-- 下載文件命令
put [-P] local-path [remote-path] <-- 上傳文件命令
Upload file