1. 程式人生 > >Linux基礎知識(ssh服務)

Linux基礎知識(ssh服務)

sshd服務

一、openssh

當主機中開啟openssh服務,就對外開放了遠端連線的一個介面

openssh服務的服務端sshd

openssh服務的客戶端ssh

二、在客戶端連線sshd的方式

ssh 服務端使用者@服務端ip地址

例如ssh [email protected] 在客戶端用ssh命令連線172.25.254.250主機的root使用者
三、搭建客戶端和服務端的環境
兩臺虛擬機器(desktop和server)
desktop為客戶端ip 172.25.254.150
server為服務端ip 172.25.254.250

  1. 手動修改ip
    nm-connection-editor
    在這裡插入圖片描述

    在這裡插入圖片描述
    在這裡插入圖片描述
  2. 服務端ip建立如上,ip為 172.25.254.250:
    在這裡插入圖片描述
  3. ifconfig 檢視ip
    在這裡插入圖片描述

四、建立連線

  1. 連線方式 :
    ssh [email protected] 文字模式的連結
    注意:在第一次連線陌生主機是要建立認證檔案,所以會詢問是否建立,需要輸入yes,確認建立,然後輸入密碼就會連線成功。
    在次連線此臺主機時,因為已經生成~/.ssh/know_hosts檔案所以不需要再次輸入yes。
    連線成功後如要退出按exit

  2. 遠端複製:
    格式:scp file [email protected]:dir 上傳(將客戶端桌面的檔案複製到服務端桌面)
    格式:scp

    [email protected]:file dir . 下載(將服務端桌面的檔案複製到客戶端的當前位置)“.”表示傳送到當前位置。
    rm -fr /root/.ssh/ 清除ssh下的內容
    例如:(1)ssh -x [email protected] 遠端連線ip為172.25.254.250主機
    在這裡插入圖片描述
    (2)將客戶端桌面的westos複製到服務端的桌面
    在這裡插入圖片描述
    (3)將服務端桌面的westos檔案複製到客戶端的當前位置
    在這裡插入圖片描述

  3. sshd 的key認證
    (1)ssh-keygen 生成金鑰的命令:
    在這裡插入圖片描述
    (2)儲存加密字元的檔案用預設:
    在這裡插入圖片描述
    (3)設定密碼使用空密碼:
    在這裡插入圖片描述
    (4)確認密碼:
    在這裡插入圖片描述
    (5)私鑰(鑰匙):
    在這裡插入圖片描述


    (6)公鑰(鎖):
    在這裡插入圖片描述
    例:輸入ssh-keygen後一直回車即可,選取預設方式:
    在這裡插入圖片描述

    ls -R /root/.ssh/ 檢視.ssh下所生成的鎖與鑰匙
    在這裡插入圖片描述

  4. 加密服務

(1) ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 加密服務的命令對ip為172.25.254.250主機進行加密(上鎖)
(2) ssh-copy-id 加密命令
(3)-i 指定金鑰
(4)/root/.ssh/id_rsa.pub 金鑰
(5)root 加密使用者
在這裡插入圖片描述
(6)authorized_keys 出現代表加密完成
在這裡插入圖片描述
在這裡插入圖片描述

  1. 分發鑰匙

    執行: scp /root/.ssh/id_rsa [email protected]:/root/.ssh/

在這裡插入圖片描述

  1. 測試
    在客戶主機中(172.25.254.150)
    ssh [email protected] 連線時發現直接登陸不需要root登陸系統的密碼認證
    在這裡插入圖片描述

五、sshd的安全設定

vim /etc/ssh/sshd_config         安全設定  
編輯修改結束後執行systemctl restart sshd 重新啟動服務
78行 PasswordAuthentication yes|no 開啟或關閉ssh的預設認證方式
關閉了ssh預設認證時超級使用者也無法連線。
48行 PermitRootLogin yes|no	     開啟或關閉root使用者的登陸許可權
52行 Allowusers student 設定使用者白名單,白名單出現的不再名單中的使用者不能使用sshd
53行 Denyusers	westos 設定使用者黑名單,黑名單出現的不再名單中的使用者可以使用sshd
黑白名單不可以同時存在,做完實驗之後都註釋掉即可。黑白名單可以在任意地方書寫。
  1. PasswordAuthentication no不允許使用者通過登陸系統的密碼做sshd的認證
    在這裡插入圖片描述
    在這裡插入圖片描述

  2. PermitRootLogin yes 允許root使用者通過sshd服務的認證
    在這裡插入圖片描述

  3. Allowusers student westos 設定使用者白名單,白名單出現預設不再名單中的使用者不能使用sshd(除了westos,student使用者外其他使用者不能使用sshd)
    在這裡插入圖片描述

  4. Denyusers westos 設定使用者黑名單,黑名單出現預設不再名單中的使用者可以使用sshd(除了westos使用者不能使用sshd其他任何使用者可以使用sshd)
    在這裡插入圖片描述

六、新增sshd登陸登陸資訊

  1. 編輯vim /etc/motd 檔案內容就是登陸後顯示的資訊
    編輯 vim /etc/motd
    ssh [email protected] 遠端連線
    在這裡插入圖片描述

七、使用者登陸審計

  1. w 檢視正在使用當前系統的使用者 /var/run/utmp w命令的檔案
    在這裡插入圖片描述

  2. w -f 檢視使用來源
    在這裡插入圖片描述

  3. w -i 檢視登陸的使用者主機的ip
    在這裡插入圖片描述

  4. last 檢視之前登陸並使用的使用者資訊目前已經退出 /var/log/wtmp last命令的檔案
    在這裡插入圖片描述

  5. lastb 檢視試圖登陸我的主機的使用者資訊但是沒有成功 /var/log/btmp lastb命令的檔案
    在這裡插入圖片描述

八、修改主機名稱:

  1. 執行hostnamectl set-hostname desktop.exampele.com命令
    修改主機的名稱為desktop
    修改結束後不會立即呈現需要關閉shell重新開啟shell就會生效。
    [[email protected] ~]#修改前
    [[email protected] ~]# 修改後