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
- 手動修改ip
nm-connection-editor
- 服務端ip建立如上,ip為 172.25.254.250:
- ifconfig 檢視ip
四、建立連線
-
連線方式 :
ssh [email protected] 文字模式的連結
注意:在第一次連線陌生主機是要建立認證檔案,所以會詢問是否建立,需要輸入yes,確認建立,然後輸入密碼就會連線成功。
在次連線此臺主機時,因為已經生成~/.ssh/know_hosts檔案所以不需要再次輸入yes。
連線成功後如要退出按exit -
遠端複製:
格式:scp file [email protected]:dir 上傳(將客戶端桌面的檔案複製到服務端桌面)
格式:scp
rm -fr /root/.ssh/ 清除ssh下的內容
例如:(1)ssh -x [email protected] 遠端連線ip為172.25.254.250主機
(2)將客戶端桌面的westos複製到服務端的桌面
(3)將服務端桌面的westos檔案複製到客戶端的當前位置
-
sshd 的key認證
(1)ssh-keygen 生成金鑰的命令:
(2)儲存加密字元的檔案用預設:
(3)設定密碼使用空密碼:
(4)確認密碼:
(5)私鑰(鑰匙):
(6)公鑰(鎖):
例:輸入ssh-keygen後一直回車即可,選取預設方式:
ls -R /root/.ssh/ 檢視.ssh下所生成的鎖與鑰匙
-
加密服務
(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 出現代表加密完成
-
分發鑰匙
執行: scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
- 測試
在客戶主機中(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
黑白名單不可以同時存在,做完實驗之後都註釋掉即可。黑白名單可以在任意地方書寫。
-
PasswordAuthentication no不允許使用者通過登陸系統的密碼做sshd的認證
-
PermitRootLogin yes 允許root使用者通過sshd服務的認證
-
Allowusers student westos 設定使用者白名單,白名單出現預設不再名單中的使用者不能使用sshd(除了westos,student使用者外其他使用者不能使用sshd)
-
Denyusers westos 設定使用者黑名單,黑名單出現預設不再名單中的使用者可以使用sshd(除了westos使用者不能使用sshd其他任何使用者可以使用sshd)
六、新增sshd登陸登陸資訊
- 編輯vim /etc/motd 檔案內容就是登陸後顯示的資訊
編輯 vim /etc/motd
ssh [email protected] 遠端連線
七、使用者登陸審計
-
w 檢視正在使用當前系統的使用者 /var/run/utmp w命令的檔案
-
w -f 檢視使用來源
-
w -i 檢視登陸的使用者主機的ip
-
last 檢視之前登陸並使用的使用者資訊目前已經退出 /var/log/wtmp last命令的檔案
-
lastb 檢視試圖登陸我的主機的使用者資訊但是沒有成功 /var/log/btmp lastb命令的檔案
八、修改主機名稱:
- 執行hostnamectl set-hostname desktop.exampele.com命令
修改主機的名稱為desktop
修改結束後不會立即呈現需要關閉shell重新開啟shell就會生效。
[[email protected] ~]#修改前
[[email protected] ~]# 修改後