1. 程式人生 > >SSH服務理論+實踐

SSH服務理論+實踐

rec 會有 鑰匙 conf 兩個 進程 ace 設置密碼 作用

1)遠程管理服務知識介紹   

  SSH遠程登錄服務介紹說明
    01. SSH-Secure Shell Protocol 安全加密shel協議
  SSH遠程登錄服務功能作用
    01. 提供類似telnet遠程登錄管理服務器功能
    02. 提供類似FTP文件傳輸服務功能的sftp-server,借助SSH服務加密傳輸數據
  SSH遠程登錄服務排錯思路
    01. 檢查鏈路是否通暢---ping(icmp禁用了,也ping不通)
    02. 檢查鏈路是否阻斷---tracert/traceroute
    03. 檢查服務是否開啟---ss/netstat -lntup

2)遠程管理服務對比說明   

  SSH遠程登錄服務特點說明
    01. SSH服務端口號信息為22
    02. SSH服務采用密文方式傳輸數據
    03. SSH服務默認支持root用戶進行遠程登錄
  Telnet遠程登錄服務功能作用
    01. telnet服務端口號信息為23
    02. telnet服務采用明文方式傳輸數據
    03. telnet服務默認不支持root用戶進行遠程登錄
    04.nmap 10.1.1.128 -p 22

3)遠程管理服務概念詳解

  SSH遠程管理服務加密技術     

    ssh連接登錄過程原理
      ①. ssh客戶端發出連接請求

      >/root/.ssh/known_hosts
      ②. ssh服務端會發出確認信息,詢問客戶端你是否真的要連接我
      ③. ssh客戶端輸入完成yes,會等到一個公鑰信息
      cat /root/.ssh/known_hosts
      ④. ssh服務端將公鑰信息發送給ssh客戶端
      ⑤. ssh客戶端利用密碼進行登錄
      ⑥.客戶端 vim /etc/ssh/ssh_host_rsa_key.pub 和 服務端 cat /root/.ssh/known_hosts 秘鑰是一致的
    ①. 采用公鑰和私鑰進行算法加密
    ②. 加密技術分為v1和v2兩個版本
      sshv1版本不會經常更換鎖頭和鑰匙,因此會有安全隱患
      sshv2版本會經常更換鎖頭和鑰匙,因此提高了遠程連接安全性

  SSH遠程管理服務認證類型     

    ①. 基於口令的安全驗證
    ②. 基於密鑰的安全驗證(驗證原理)
    ①. ssh管理服務器上創建密鑰對信息(公鑰 私鑰)
    ②. ssh管理服務器上將公鑰發送給被管理服務器
    ③. ssh管理服務器向被管理服務器發送連接請求
    ④. ssh被管理服務器向管理服務器發送公鑰質詢
    ⑤. ssh管理服務器處理公鑰質詢請求,將公鑰質詢結果發送給被管理主機
    ⑥. ssh被管理服務器接收公鑰質詢響應信息,從而確認認證成功
    ⑦. ssh管理服務端可以和被管理服務端建立基於密鑰連接登錄


    基於密鑰登錄方式部署流程
      第一個裏程:在管理主機上創建密鑰對信息
      ssh-keygen -t dsa <-- 創建密鑰對命令 -t dsa表示指定密鑰對加密類型
      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:
      46:c8:21:b9:99:6e:0c:59:39:66:38:7a:97:29:51:76 [email protected]
      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遠程管理服務配置詳解     

    ①. 配置文件端口信息修改
    ②. 配置文件監聽地址信息
    vim /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遠程連接效率)
  

  SSH遠程管理服務入侵防範     

    ①. 利用密鑰登錄提高安全性
    ②. 利用牤牛陣法提高安全性
      ①. 安全設備策略阻止訪問,只放開少量服務端口
      ②. 開啟SSH監聽地址功能,只監聽內網網卡地址
    ③. 利用服務器不配置外網IP提高安全性
    ④. 利用授權與系統安裝最小化提高安全性
    ⑤. 利用指紋信息對系統重要文件進行加密處理
    ⑥. 利用系統重要文件加鎖功能提高安全性

  SSH遠程管理服務連接功能     

    ①. SSH遠程連接方法--linux客戶端連接
      ssh -p22 [email protected].0.61
    ②. SSH遠程連接方法--windows客戶端連接
      利用xshell/SecureCRT/Putty軟件連接
    ③. SSH遠程連接不登錄服務器執行命令方法
      ssh -p22 [email protected] "free -m"

  SSH遠程管理服務復制功能     

    ①. SSH遠程復制方法--scp
      scp -P22 -rp /tmp/oldboy [email protected]:/tmp
    ②. SSH遠程復制方法--屬於遠程全量復制
  

  SSH遠程管理服務傳輸功能     

    ①. SSH遠程傳輸方法--sftp
      ftp -oPort=52113 [email protected]

4)遠程管理服務部署說明   

  遠程管理服務服務端     

    ①. 服務端需要安裝部署openssh-server軟件包
    ②. 服務端程序重要文件信息
    ①. 服務啟動腳本文件 /etc/rc.d/init.d/sshd
    ②. 服務程序配置文件 /etc/ssh/sshd_config
    ③. 服務守護進程命令 /usr/sbin/sshd   

  遠程管理服務客戶端     

    ①. 客戶端需要安裝部署openssh-clients軟件包
    ②. 客戶端程序重要文件信息
      ①. 安全拷貝命令 /usr/bin/scp
      ②. 安全傳輸命令 /usr/bin/sftp
      ③. 安全登錄命令 /usr/bin/ssh
      ④. 創建私鑰命令 /usr/bin/ssh-keygen
      ④. 傳輸公鑰命令 /usr/bin/ssh-copy-id


5)遠程管理服務免秘管理

  遠程管理服務端     

    ①. 創建密鑰對信息(免交互與交互方式)
    ②. 分發公鑰信息(免交互和交互方式)
    ③. 測試遠程登錄受控端是否免密碼   

  遠程管理受控端     

    ①. 驗證是否已經接收到分發公鑰信息

SSH服務理論+實踐