主機名稱的修改:在本次實驗的過程中需要兩臺虛擬機進行,爲了區分開服務端和客戶端,應將兩臺虛擬機的主機名稱進行修改。
具體修改方式爲:在shell中執行 hostnamectl set-hostname xxx.example.com
更改後需要關掉當前shell重新打開一個shell即可發現名稱已修改
一、客戶端鏈接方式
1、ssh 遠程主機用戶@遠程主機ip
圖中 1行:表示連接陌生主機時需要建立認證關係;2行:輸入遠程用戶密碼;3行表示登錄成功
注意:這種方式連接遠程主機後只能進入文本模式,不能打開圖形,如:不能打開gedit文本
2、ssh 遠程主機用戶@遠程主機ip -X
注意:這種方式連接後是可以調用遠程主機圖形,如:gedit
二、sshkey加密
1、生成公鑰和私鑰
ssh-keygen ##生成公鑰私鑰工具
圖中“1”行:加密字符保存文件(建議用默認,按回車鍵即可);
“2”行:密鑰密碼,必須大於四位(可以爲空,即按回車鍵即可)
“3”行:再次確認密鑰密碼
在shell中切換至/etc/.ssh目錄中即可查詢到建立好的密鑰和公鑰
id_rsa爲私鑰,就是鑰匙;id_rsa.pub爲公鑰,就是鎖
2、添加key認證方式
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
ssh-copy-id ##添加 key認證方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用戶爲root
172.25.20.13 ##被加密主機ip
添加認證方式後會在該目錄中產生一個新文件即爲認證文件
3、在設置好sshkey加密後若不將原來的密碼登錄方式關掉的話,該加密方式不生效,如:
如圖,app主機依然可以通過登錄密碼的方式連接服務端。
4、刪除密碼登錄方式:將文件/etc/ssh/sshd_config中第78行的yes 改爲 no
修改完後需要重新加載sshd服務才能生效
生效後沒有被分發鑰匙的用戶無法通過ssh命令遠程連接
5、分發鑰匙給客戶端
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
分發成功後該用戶遠程連接時不需要輸入密碼
6、設置ssh 登錄提示字符
vim /etc/motd
在該文件中輸入這些字符,在下次遠程連接時即可顯示
7、設置白名單:當服務端設置了白名單後,只有白名單上的用戶才能遠程連接和登錄
vim /etc/ssh/sshd_config
在該文件的空白處寫下 :Allowusers 允許用戶
白名單中只有root用戶,所以student用戶無法連接
8 設置黑名單:除了黑名單中的用戶,其他用戶都可以連接
vim /etc/ssh/sshd_config
Denyusers 用戶名
黑名單中只有root,所以root用戶無法連接,student可以
9、控制ssh客戶端訪問
vim /etc/hosts.deny
sshd:172.25.20.12 ##拒絕該ip連接
vim /etc/hosts.allow
sshd:172.25.20.12 ##允許該ip連接