SSH的key認證
準備工作
下面我們先修改一端的ip為172.25.254.1
另一端類似,可自行配置,注意地址的最後一段須不同。在這裡我們地址尾數為1的主機命名為1,地址尾數為2的主機命名為2
為了方便自己確認自己所處的位置,建議修改主機名以做辨別命令為:
hostname set-hostname xxx 執行命令後重啟shell即可看見改後的主機名。
ssh遠端連線
ssh [email protected] ---- username表示以何種身份登陸(root?student?),ip(xxx.xxx.xxx.xxx)
ssh [email protected]
exit ---- 退出遠端主機
ssh -X [email protected] ---- 呼叫遠端主機圖形介面
vim /etc/motd ---- 此命令在服務端執行,通過編輯可在遠端登陸時顯示你想顯示的資訊
sshkey加密
1.生成公鑰私鑰
服務端:
ssh-keygen ----生成公鑰私鑰工具
id_rsa ##私鑰
id_rsa.pub ##公鑰
2.新增key認證方式
服務端:
ssh-copy-id
-i ----指定加密key檔案
/root/.ssh/id_rsa.pub ---- 加密key
root ---- 加密使用者為root
3.分發鑰匙給client主機並測試登陸
在此之前須執行以下命令服務端:
vim /etc/.ssh/sshd_config (修改passwordAuthenication yes 為no)這個命令使沒有私鑰的使用者無法登入,然後執行systemctl restart sshd.device命令重啟ssh服務即可生效,現在客戶端重新連線會發現來年接不上,當執行以下命令後,會發現客戶端又可以重新連線了,且不需要密碼。
提升ssh的安全級別
.1執行以下命令
/etc/ssh/sshd_config ---- 修改配置檔案
78 PasswordAuthentication yes|no ---- 是否開啟使用者密碼認證,yes為支援no為關閉
48 PermitRootLogin yes|no ---- 是否允許超級使用者登陸
79 AllowUsers student westos ---- 使用者白名單,只有在名單中出現的使用者可以使用sshd建立shell
50 DenyUsers westos ---- 使用者黑名單
2.控制ssh客戶端訪問
vim /etc/hosts.deny
sshd:ALL ---- 拒絕所有人鏈接sshd服務
sshd:172.25.254.xxx ---- 允許xxx主機連結sshd
sshd:172.25.254.aaa, 172.25.254.bbb ---- 允許aaa和bbb連結
sshd:ALL EXCEPT 172.25.254.xxx ---- 只不允許xxx連結