1. 程式人生 > >Linux的sshd服務

Linux的sshd服務

一、sshd簡介

SSH 為 Secure Shell 的縮寫,為建立在應用層基礎上的安全協議。SSH 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 SSH 協議可以有效防止遠端管理過程中的資訊洩露問題。

SSH是標準的網路協議,可用於大多數UNIX作業系統,能夠實現字元介面的遠端登入管理,它預設使用22號埠,採用密文的形式在網路中傳輸資料,相對於通過明文傳輸的Telnet,具有更高的安全性。

1. 連線方式:
    ssh    [email protected]    ##文字模式連線

在文字模式下無法開啟圖形介面


    ssh -X  [email protected]    ##圖形方式連線

注:第一次連線陌生主機是需要建立認證檔案,輸入yes,再次連線時,因為已經生成了~/.ssh/know_hosts檔案所有不需要再次輸入

第一次連線後會生成 know_hosts檔案(在主動連線的一方電腦上生成)


2. 遠端複製:
    scp    file    [email protected]

:dir        ##上傳(dir為絕對路徑)

將桌面上的法ile檔案上傳到另一臺虛擬機器root使用者下的桌面,且地址要寫成絕對路徑,才能上傳成功

在另一臺電腦上的相應位置就能找到法ile檔案


    scp    [email protected]:/file    dir    ##下載

二、sshd的key認證

通過sshd的key認證後,下次ssh連線時,就無需再輸入密碼
在/root/.ssh目錄下
1.生成認證key

ssh-keygen

在/root/.ssh 目錄下 生成了 id_rsa.pub檔案

2.加密服務

ssh-copy-id  -i  id_rsa.pub  [email protected]

3.分發鑰匙

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

將id_rsa檔案傳送至另一臺虛擬機器

4.測試

在客戶主機中(172.25.254.200)
ssh  [email protected]
連線時發現不需要密碼

三、sshd的安全設定

對/etc/ssh/sshd_config檔案進行編輯:vim /etc/ssh/sshd_config

1. 其中,78行中 PasswordAuthentication yes  代表允許使用者通過登陸系統的密碼作sshd認證,若為no表示不允許其他使用者通過密碼登陸,即無法登陸

2. 48行,PermitRootLogin no 代表不允許root使用者通過sshd服務的認證,即無法連線到root使用者,若為yes表示可以連線到root使用者

3. 設定使用者白名單,白名單中沒有的使用者預設不能使用sshd

設定格式為:

4. 設定使用者黑名單,黑名單中沒用的使用者預設可以使用sshd

設定格式為:

四、新增sshd登入資訊

vim  /etc/motd        ##檔案的內容就是登入後顯示的資訊

在該檔案下編輯相應的內容,登陸後就會顯示

五、使用者的登入審計

1.w
    -f    ##檢視使用來源


    -i    ##顯示ip

2.last        ##檢視使用過並退出的使用者資訊

3.lastb        ##試圖登入但沒有成功的使用者