1. 程式人生 > >SSH服務遠程訪問及控制(2.基於密鑰的安全驗證)

SSH服務遠程訪問及控制(2.基於密鑰的安全驗證)

用戶登陸 基於 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   

客戶端配置:

  1. 關閉防火墻和selinux
    [root@reh6-2 ~]# service iptables stop
    [root@reh6-2 ~]# setenforce 0
  2. 創建用戶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    //創建密鑰對

    技術分享圖片

  3. 上傳導入公鑰文件信息。
    [lisi@reh6-2 .ssh]$ ssh-copy-id id_rsa.pub [email protected]   //公鑰上傳到SSH服務器

    技術分享圖片

  4. 在客戶端使用密鑰驗證
    [lisi@reh6-2 .ssh]$ ssh [email protected]    

    技術分享圖片

總結:

  1. 公鑰和私鑰位置在用戶各自的家目錄當中是隱藏文件(.ssh),可以用ls -a查看。
  2. 當ssh客戶端和ssh服務器進行關聯後, 每次驗證不用輸入用戶登陸密碼,只需輸入密鑰即可登陸,加強了系統的安全。
    3.之前有詳細的密碼驗證請看:ssh密碼安全驗證

SSH服務遠程訪問及控制(2.基於密鑰的安全驗證)