sshd簡介sshd= secure shell
可以通過網絡在主機中開機shell的服務連接方式:
ssh username@ip ---> 文本模式的鏈接
ssh -X username@ip ---> 可以在鏈接成功後開機圖形注:
第一次鏈接陌生主機是要建立認證文件(~/.ssh/know_hosts)
所以會詢問是否建立,需要輸入yes
在次鏈接此臺主機時,因爲已經生成~/.ssh/know_hosts文件所以不需要再次輸入yes
實驗具體操作:
sshd 的密鑰認證實驗
實驗前提需兩臺虛擬機,一臺服務端,一臺客戶端,改ip,主機名,刪除 ~/.ssh
服務端
更改主機名爲server.test.com
圖形化命令設置網卡
刪除現有網卡
添加新網卡,選擇以太網
改連接名稱爲eht0,選擇eht0網卡
設置ip爲172.25.254.131,子網掩碼爲24位,save保存
生成新網卡
查看ip
刪除 ~/.ssh下所有文件,實驗需純淨環境
客戶端
更改主機名爲client.test.com
更改網卡同服務端方法一樣,這裏略過,設置ip爲172.25.254.231子網掩碼爲24位
刪除 ~/.ssh下所有文件,實驗需純淨環境
1.生成認證KEY ——— 服務端
使用生成密鑰命令指定密鑰路徑,指定密碼爲空
注 ---> id_rsa—私鑰 與 id_rsa.pub—公鑰
2.加密服務 ——— 服務端
使用加密命令指定加密密鑰ip爲172.25.254.131注 ---> authorized_keys文件出現表示加密完成
3.分發鑰匙 ——— 客戶端
將本機的私鑰遠程拷貝給客戶端的/root/.ssh/下4.測試 ——— 客戶端
免密遠程登陸[email protected]
注 ---> 連接時發現直接登陸不需要root登陸系統的密碼認證
實驗具體操作:
sshd的安全設置
vim /etc/ssh/sshd.conf 編輯ssh配置文件
配置 PasswordAuthentication yes|no ---> 是否允許用戶通過登陸系統的密碼做sshd的認證
服務端
搜索關鍵字 Password也可進入配置文件78行
更改PasswordAuthentication yes 爲no
客戶端測試br/>遠程連接[email protected],拒絕登陸
更改PermitRootLogin yes|no ---> 是否允許root用戶通過sshd服務的認證
服務端
進入配置文件48行, PermitRootLogin no 更改爲nobr/>![](https://s1.51cto.com/images/blog/201907/20/43d42a98b3a8def2054ca16e56cc97cc.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
客戶端連接[email protected],拒絕登陸,連接[email protected],正常登陸Allowusers ---> 設定用戶白名單,白名單出現默認不再名單中的用戶不能使用sshd
服務端
將用戶tom lee 加入白名單在配置文件Allowusers裏
客戶端測試br/>遠程連接[email protected]連接成功
遠程連接[email protected]連接成功
遠程連接[email protected]拒絕登陸
Denyusers ---> 設定用戶黑名單,黑名單出現默認不再名單中的用戶可以使用sshd
服務端
將用戶 lee 加入黑名單在配置文件Denyusers裏
客戶端測試
遠程連接[email protected],拒絕連接br/>遠程連接[email protected],連接成功
br/>遠程連接[email protected],連接成功添加sshd登陸登陸信息
vim /etc/motd --- 文件內容就是登陸後顯示的信息用戶的登陸審計
w --- 查看正在使用當前系統的用戶
-f 查看使用來源
-i 顯示IPlast --- 查看使用過並退出的用戶信息
lastb --- 試圖登陸但沒成功的用戶
-i配置文件 /var/run/utmp 用戶登錄、註銷及系統開、關等事件
last 配置文件 /var/log/wtmp 當前登錄用戶詳細信息
lastb 配置文件 /var/log/btmp 記錄失敗的的記錄