五.ssh遠程管理服務

 

01. 遠程管理服務知識介紹
1) SSH遠程登陸服務介紹說明
SSH是Secure Shell Protocol的簡寫,由 IETF 網絡工做小組(Network Working Group)制定;
在進行數據傳輸以前,SSH先對聯機數據包經過加密技術進行加密處理,加密後在進行數據傳輸。
確保了傳遞的數據安全。
SSH是專爲遠程登陸會話和其餘網絡服務提供的安全性協議。
利用SSH協議能夠有效的防止遠程管理過程當中的信息泄露問題,在當前的生產環境運維工做中,
絕大多數企業廣泛採用SSH協議服務來代替傳統的不安全的遠程聯機服務軟件,如telnet(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/netstat -lntup(服務端檢查) /telnet/nmap/nc(客戶端檢查)安全

服務開啓沒有服務器

      

02. Telnet遠程登陸服務功能做用  
SSH遠程登陸服務特色說明
Telnet遠程登陸服務功能做用

03. 遠程管理服務概念詳解
1)SSH遠程管理服務加密技術
ssh鏈接登陸過程
①. ssh客戶端發出鏈接請求網絡

清空 >/root/.ssh/known_hosts
②. ssh服務端會發出確認信息,詢問客戶端你是否真的要鏈接我
③. ssh客戶端輸入完成yes,會等到一個公鑰信息
cat /root/.ssh/known_hosts運維

服務端公鑰dom

④. ssh服務端將公鑰信息發送給ssh客戶端
⑤. ssh客戶端利用密碼進行登陸
ssh

加密技術分爲v1和v2兩個版本
sshv1版本不會常常更換鎖頭和鑰匙,所以會有安全隱患
sshv2版本會常常更換鎖頭和鑰匙,所以提升了遠程鏈接安全性

2)SSH遠程管理服務認證類型ide

基於密鑰方式實現遠程登陸
    ①. ssh管理服務器上建立密鑰對信息(公鑰 私鑰)
    ②. ssh管理服務器上將公鑰發送給被管理服務器
    ③. ssh管理服務器向被管理服務器發送鏈接請求
    ④. ssh被管理服務器向管理服務器發送公鑰質詢
    ⑤. ssh管理服務器處理公鑰質詢請求,將公鑰質詢結果發送給被管理主機
    ⑥. ssh被管理服務器接收公鑰質詢響應信息,從而確認認證成功
    ⑦. ssh管理服務端能夠和被管理服務端創建基於密鑰鏈接登陸

04. 基於密鑰登陸方式部署流程
第一個里程:在管理主機上建立密鑰對信息
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         |
    |     + .            |
    |       .             |
    |                     |
    |                     |
+-----------------+測試

私鑰dsa  公鑰dsa.pubui

第二個里程:將管理主機上公鑰信息發送給被管理主機加密

給其餘用戶管理在地址前加用戶名

ssh-copy-id -i /root/.ssh/id_dsa.pub 172.16.1.31
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.

在非默認22端口是發送公鑰會報錯解決辦法

在~/.ssh/下建立config文件 在文件中天劍port  [端口號] 就好了

第三個里程:進行遠程管理測試(基於密鑰的方式進行遠程管理)
ssh 172.16.1.31 <-- 能夠不用輸入密碼信息,就能登錄成功
ssh 172.16.1.31 uptime <-- 能夠不用登錄到遠程主機,就能夠直接查看遠程主機信息

# ssh -p17524 -l lianxizc  10.0.0.31< -- -p指定端口號 -l 指定用戶

或者

  都沒有默認端口22  默認用戶root

05. SSH服務端配置文件信息說明(/etc/ssh/sshd_config)
    Port 52113 <- 修改ssh服務端口號信息

    

    ListenAddress 0.0.0.0 <- 主要做用提高網絡鏈接安全性 

    默認監聽全部網卡地址

    PS:監聽地址只能配置爲服務器網卡上擁有的地址

    PermitRootLogin no <- 是否容許root用戶遠程登陸

    企業中禁止root用戶直接登錄
    PermitEmptyPasswords no <- 是否容許空密碼


    UseDNS no <- 是否進行DNS反向解析(提高ssh遠程鏈接效率)


    GSSAPIAuthentication no <- 是否進行遠程GSSAPI認證(提高ssh遠程鏈接效率)

遠程管理服務防範

 

 

10. 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 

 

 ssh部署 通常系統都有

服務端

 

客戶端

進程端口

進程是否啓動進程號

端口信息

思考:
01. 批量的分發公鑰信息,而且採用免交互方式實現
02. 批量管理(ansible)

相關文章
相關標籤/搜索