期中集羣架構-第五章-SSH遠程管理服務
======================================================================安全
01.遠程管理服務知識介紹
1) SSH遠程登陸服務介紹說明
SSH是Secure Shell Protocol的簡寫,由IETF網絡工做小組(Network Working Group)制定;
是進行數據傳輸以前,SSH先對聯機數據包經過加密技術進行加密處理,加密後再進行數據傳輸。
確保了傳遞的數據安全
SSH是專門爲遠程登陸會話和其餘網絡服務提佛那個的安全性協議。
利用SSH協議能夠有效的防止遠程管理過程當中的信息泄露問題,在當前的生產環境運維工做中,
絕大多數企業廣泛採用SSH協議服務來代替傳統的不安全的遠程聯機服務軟件,如relnet(23端口,信息不加密)等
在默認狀態下,SSH服務主要提供兩個服務功能:
2) SSH遠程登陸服務功能做用
a 一是提供相似telnet遠程聯機服務器的服務,即上面提到的SSH服務;
b 另外一個是相似FTP服務的sftp-server,藉助SSH協議來傳輸數據的,提供更安全的SFTP服務(vsftp,proftp)。
3) SSH遠程登陸服務排錯思路
01.檢查鏈路是否通暢---ping(icmp)/tracert/traceroute
02.檢查鏈路是否阻斷---將防火牆功能關閉
03.檢查服務是否開啓---ss/netstar -tunlp(服務端檢查命令) /telnet/nmap/nc(客戶端檢查命令)服務器
02. Telnet遠程登陸服務功能做用
SSH遠程登陸服務特色說明
Telnet遠程登陸服務功能做用網絡
03. 遠程管理服務概念詳解
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管理服務器能夠和被管理服務器創建基於祕鑰的鏈接登陸
04. 基於祕鑰登陸方式部署流程
第一個里程:在管理服務器上建立密鑰對信息
[root@m01 ~]# ssh-keygen -t dsa 《-建立祕鑰對命令 -t dsa 表示指定祕鑰加密類型
Generating public/private dsa key pair.
Enter file in which to save the key (/root/.ssh/id_dsa): 《--確認祕鑰文件所保存的路徑,這裏採用默認路徑,直接回車
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:
33:b3:ef:c1:94:63:9e:f9:f4:cb:df:1d:c6:c7:c0:fd root@m01
The key's randomart image is:
+--[ DSA 1024]----+
| |
| |
| |
| . . . |
| S = o .|
| X + .o.|
| . * . +E|
| . + o. =|
| .o . +o+|
+-----------------+架構
第二個里程:把管理服務器上的公鑰發送到被管理主機
[root@m01 ~]# ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31 《--這裏填寫的被管理主機的IP地址若是是內網的,下次用祕鑰方式登陸,也必須鏈接內網IP
也能夠指定指定發送給被管理主機的指定用戶好比發送給oldboy 172.1.16.31
The authenticity of host '172.16.1.31 (172.16.1.31)' can't be established.
RSA key fingerprint is 89:62:54:cb:be:1d:79:09:5d:81:e5:51:df:9c:1f:2a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.1.31' (RSA) to the list of known hosts.
root@172.16.1.31'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.
第三個里程:進行遠程管理測試(以祕鑰的方式進行遠程管理)
[root@m01 ~]# ssh 172.16.1.31 《--能夠不用輸入密碼,直接登陸
Last login: Wed May 13 19:43:42 2020 from 172.16.1.61
[root@nfs01 ~]#
[root@m01 ~]# ssh 172.16.1.31 hostname -I 《--也能夠不用登陸主機,就能夠查看遠程主機的信息
10.0.0.31 172.16.1.31
[root@m01 ~]#
05. 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遠程鏈接效)
06. sftp經常使用操做命令總結
[root@m01 ~]# sftp -oPort=22 root@172.16.1.31 《-鏈接到遠程主機命令
Connecting to 172.16.1.31...
sftp> help 《--進入sftp模式後,可先用help命令查看使用幫助
如下是一些經常使用重要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 運維