Linux系統中ssh與sshd服務
阿新 • • 發佈:2018-11-07
一、系統中的ssh與sshd服務
- 概念簡介
- openssh
在主機中開啟了openssh服務,那麼就對外開放了遠端連線的介面
openssh的服務端:sshd
openssh的客戶端:ssh
ssh————————————>sshd
client server
- ssh
ssh= secure shell
可以讓遠端主機通過網路訪問sshd服務,開始一個安全shell,並對其進行操控 - sshd
可以通過網路在主機中開啟shell的服務
- 客戶端、服務端的環境搭建
這裡我們以兩個虛擬機器為例
客戶端:shell背景為黑色,IP=172.25.254.100
服務端:shell背景為白色,IP=172.25.254.200
搭建過程如下:
(1)搭建客戶端環境
(2)服務端搭建,過程同上,注意IP地址與客戶端不同
- 客戶端的連線
(1)連線方式:
ssh [email protected] 文字模式的連結
ssh -X [email protected] 可以在連結成功後開機圖形
比如:不加-X時,連線其他主機成功後使用gedit會報錯
加-X則可以成功使用gedit命令
注意:
-
第一次連結陌生主機是要建立認證檔案所以會詢問是否建立,需要輸入yes
輸入密碼則連線成功
連線後,exit則可以退出
ifconfig命令可以檢視自己在哪個主機上,以防連線錯誤
-
再次連結此臺主機時,因為已經生成~/.ssh/know_hosts檔案所以不需要再次輸入yes
(2)遠端複製: -
上傳
格式: scp file [email protected]:dir
例: 將客戶端桌面的hello檔案複製到服務端的桌面
-
下載
格式: scp [email protected]:file dir
例: 將服務端桌面的westos檔案複製到客戶端的當前位置
- sshd 的key認證
(1)生成認證KEY
(2)加密服務
(3)分發鑰匙
(4)測試
在客戶主機中(172.25.254.100)
執行命令:ssh
連線時發現直接登陸不需要root登陸系統的密碼認證
- sshd的安全設定
vim /etc/ssh/sshd_config
注意:編輯此檔案後記得要重啟一下
systemctl restart sshd
(1)PasswordAuthentication yes|no
是否允許使用者通過登陸系統的密碼做sshd的認證
(2)PermitRootLogin yes|no
是否允許root使用者通過sshd服務的認證
(3)Denyusers westos
設定使用者黑名單,黑名單出現預設不再名單中的使用者可以使用sshd
(3)Allowusers student westos
設定使用者白名單,白名單出現預設不再名單中的使用者不能使用sshd
- 新增sshd登陸登陸資訊
vim /etc/motd 編輯檔案內容就是登陸後顯示的資訊
- 使用者的登陸審計
- 環境搭建:
首先搭建好兩臺虛擬機器
ip分別為:(1)172.25.254.100
(2)172.25.254.200
然後在主機上開啟兩個shell分別連線兩個ip
可以看到兩臺機子的ip不同,但是主機名稱一致
所以要修改主機名稱加以區分,設定方式如下
設定完成之後兩臺主機名字分別為node1 和node2
(1)w 檢視正在使用當前系統的使用者
或者 cat /var/run/utmp
可以看到清空上述檔案後則沒有相關資訊
w -f 檢視使用來源
w -i 顯示IP
(2)last 檢視使用過並退出的使用者資訊,或者 cat /var/log/wtmp
(3)lastb 試圖登陸但沒成功的使用者
![在這裡插入圖片描述](https://img-blog.csdn.net/20181014230150677?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMDM2ODI0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
每輸錯一次密碼,未成功資訊加一條