1. 程式人生 > >linux redhat6.5 構建SSH服務及SSH構建密鑰對驗證

linux redhat6.5 構建SSH服務及SSH構建密鑰對驗證

SSH SSH構建密鑰對驗證

SSH 為 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)
SSH是一種網絡協議,用於計算機之間的加密登錄。如果一個用戶從本地計算機,使用SSH協議登錄另一臺遠程計算機,我們就可以認為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。最早的時候,互聯網通信都是明文通信,一旦被截獲,內容就暴露無疑。1995年,芬蘭學者Tatu Ylonen設計了SSH協議,將登錄信息全部加密,成為互聯網安全的一個基本解決方案,迅速在全世界獲得推廣,目前已經成為Linux系統的標準配置。SSH只是一種協議 ,它是自由軟件,應用非常廣泛。

1:客戶機
    #ssh [email protected]    //在linux遠程訪問192.168.100.101 
    sshd服務是默認允許root用戶登錄的  但這是非常不安全的
    普遍的做法是:先登錄普通用戶 根據實際需求使用su 切換root用戶

技術分享圖片

2:服務器
下面設置  禁止root用戶登錄
vim /etc/ssh/sshd_config       //(ssh主配置文件)
 PermitRootLogin no      // 拒絕root 用戶登錄 
 Allowusers zzz zkc   //只允許zzz  zkc 用戶登錄

 service sshd restart    //重啟服務

技術分享圖片
技術分享圖片

技術分享圖片

3:服務器
創建一個用戶zzz   (我系統裏有個zkc用戶了) 
但此時zzz  zkc  用戶 都能使用su  切換到root用戶  所以不是很安全
所以下面配置 : 禁止普通用戶切換root用戶  只給zzz 用戶切換root 的權限
#gpasswd -a zzz wheel     //將zzz 加入wheel 
#vi /etc/pam.d/su          //認證配置
 auth required pam_wheel.so use_uid   //去掉此行開頭的  # 號

技術分享圖片

4:到客戶機 上測試下                                                  成功
    ssh @root192.168.100.101   無法登錄
    ssh @zkc192.168.100.101  可以登錄  無法切換root
    ssh @zzz192.168.100.101 可以登錄 可以切換

技術分享圖片

5:切換到ssh服務器上 
        配置SSH密鑰
    #vi /etc/ssh/sshd_config     //編輯sshd_config
    PubkeyAuthentication yes    //啟用密鑰對驗證
    AuthorizedKeysFile    .ssh/authorized_keys   //指定公鑰數據文件

    service sshd restart  //重啟sshd服務

技術分享圖片
技術分享圖片

6:回到客戶機上
     useradd benent   //創建用戶benet
     passwd benet       //設置benet用戶密碼
     su - benet     //切換用戶到benet
    ssh-keygen -t rsa //創建密鑰對
    (設置私鑰短語  確認私鑰短語)
    ls -a /home/benet/.ssh  // 查看私鑰位置(密鑰文件為隱藏文件 用 -a)
    cd /home/benet/.ssh   //到私鑰存放目錄

技術分享圖片

7:ssh-copy-id -i id_rsa.pub [email protected] //將公鑰上傳到服務器 
(   公鑰在服務器的 /home/zzz/.ssh 下面)
ssh [email protected]   //使用ssh登錄服務器上的zzz 用戶 
(此時只要輸入私鑰短語就能登錄了)

//在客戶機上設置ssh 代理功能 不需要設置密碼就能訪問//
ssh-agent bash 
ssh-add   

技術分享圖片

linux redhat6.5 構建SSH服務及SSH構建密鑰對驗證