SSH服務遠程訪問及控制(2.基於密鑰的安全驗證)
阿新 • • 發佈:2018-07-18
用戶登陸 基於 lis 訪問 使用 start 加密和解密 ORC blog SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定。
SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH協議可以有效防止遠程管理過程中的信息泄露問題。
基於密鑰的安全驗證
大大增強了遠程管理的安全性。遠程登陸時,系統將是用公鑰、密鑰進行加密、解密關聯驗證,大大增強了遠程管理的安全性。
公鑰和密鑰的關系:
- 公鑰和私鑰是成對生成的,這兩個密鑰互不相同,可以互相加密和解密。
- 不能根據一個密鑰來推算出另一個密鑰。
- 公鑰對外公開,私鑰只有私鑰的持有人才知道。
環境部署:
- linux(redhat6.5)2臺
- 客戶機ip地址192.168.100.88
- 服務器ip地址192.168.100.66
實驗目的:
密鑰對驗證,核對客戶端的私鑰和服務器的公鑰是否匹配,當客戶端用戶和服務器用戶關聯後,每次在客戶機遠程登陸服務器用戶,只有輸入密鑰才能登陸。
服務器配置:
1.關閉防火墻和selinux。
[root@redhat ~]# service iptables stop //關閉防火墻
[root@redhat ~]# setenforce 0 關閉selinux
2.. 編輯主配置文件sshd_config
[root@redhat ~]# vim /etc/ssh/sshd_config
3.創建用戶zhangsan,加入wheel組,pam認證。
[root@redhat ~]# useradd zhangsan //創建用戶zhangsan
[root@redhat ~]# echo "123123" | passwd --stdin zhangsan //密碼設定
[root@redhat ~]# gpasswd -a zhangsan wheel //指定zhangsan用戶到wheel組
[root@redhat ~]# vim /etc/pam.d/su //開啟pam認證
4.. 重啟ssh服務
[root@redhat ~]# service sshd restart
客戶端配置:
- 關閉防火墻和selinux
[root@reh6-2 ~]# service iptables stop [root@reh6-2 ~]# setenforce 0
- 創建用戶lisi,且lisi用戶創建密鑰對。
[root@reh6-2 ~]# useradd lisi //創建用戶lisi [root@reh6-2 ~]# echo "123123" | passwd --stdin lisi //密碼設定 [root@reh6-2 ~]# su - lisi //切換用戶 [lisi@reh6-2 ~]$ ssh-keygen -t rsa //創建密鑰對
- 上傳導入公鑰文件信息。
[lisi@reh6-2 .ssh]$ ssh-copy-id id_rsa.pub [email protected] //公鑰上傳到SSH服務器
- 在客戶端使用密鑰驗證
[lisi@reh6-2 .ssh]$ ssh [email protected]
總結:
- 公鑰和私鑰位置在用戶各自的家目錄當中是隱藏文件(.ssh),可以用ls -a查看。
- 當ssh客戶端和ssh服務器進行關聯後, 每次驗證不用輸入用戶登陸密碼,只需輸入密鑰即可登陸,加強了系統的安全。
3.之前有詳細的密碼驗證請看:ssh密碼安全驗證
SSH服務遠程訪問及控制(2.基於密鑰的安全驗證)