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]
將桌面上的法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 ##試圖登入但沒有成功的使用者