1. 程式人生 > >SSH的key認證

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]

command ----直接在遠端主機上執行命令

exit ---- 退出遠端主機

ssh -X [email protected] ---- 呼叫遠端主機圖形介面

vim /etc/motd ---- 此命令在服務端執行,通過編輯可在遠端登陸時顯示你想顯示的資訊

sshkey加密

1.生成公鑰私鑰
服務端:

ssh-keygen ----生成公鑰私鑰工具


id_rsa        ##私鑰
id_rsa.pub    ##公鑰

2.新增key認證方式



服務端:
ssh-copy-id

----新增key認證方式的工具
-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連結