1. 程式人生 > >遠程控制服務:配置sshd服務,密鑰驗證登陸

遠程控制服務:配置sshd服務,密鑰驗證登陸

img 打開 註釋 自動 其他 生效 password 遠程主機 auth

配置sshd服務

1、概述:

    SSH(Secure Shell)是一種能夠以安全的方式提供遠程登錄的協議,也是目前遠程管理 Linux 系統的首選方式。在此之前,一般使用 FTP 或 Telnet 來進行遠程登錄。但是因為它們 以明文的形式在網絡中傳輸賬戶密碼和數據信息,因此很不安全,很容易受到黑客發起的中 間人攻擊,這輕則篡改傳輸的數據信息,重則直接抓取服務器的賬戶密碼。 想要使用 SSH協議來遠程管理Linux系統,則需要部署配置sshd 服務程序。sshd是基於SSH 協議開發的一款遠程管理服務程序,不僅使用起來方便快捷,而且能夠提供兩種安全驗證的方法:

      ? 基於口令的驗證—用賬戶和密碼來驗證登錄;

      ? 基於密鑰的驗證—需要在本地生成密鑰對,然後把密鑰對中的公鑰上傳至服務器, 並與服務器中的公鑰進行比較;該方式相較來說更安全。

2、操作步驟:

    2.1第一步:

        修改主配置文件/etc/ssh/sshd_config,配置文件中有許多以 井號開頭的註釋行,要想讓這些配置參數生效,需要在修改參數後再去掉前面的井號。

技術分享圖片

    2.2第二步:

        在 RHEL 7 系統中,已經默認安裝並啟用了 sshd 服務程序。接下來使用 ssh 命令進行遠 程連接,其格式為“ssh [參數] 主機 IP 地址”。要退出登錄則執行 exit 命令。

例子:

[root@localhost Desktop]# ssh 192.168.232.151


[email protected]‘s password:
Last login: Sat Dec 22 16:14:34 2018 from 192.168.232.137
[root@localhost ~]#

[root@localhost ~]# exit #退出ssh
logout
Connection to 192.168.232.151 closed.
[root@localhost Desktop]#

      2.3第三步:功能增強型操作

          如果禁止以 root 管理員的身份遠程登錄到服務器,則可以大大降低被黑客暴力破解密碼 的幾率。下面進行相應配置。首先使用 Vim 文本編輯器打開 sshd 服務的主配置文件,然後把 第 48 行左右的#PermitRootLogin yes 參數前的井號(#)去掉,並把參數值 yes 改成 no,這樣就不再 允許 root 管理員遠程登錄了。

[root@localhost Desktop]# ssh 192.168.232.151
[email protected]‘s password: #此處我們是輸入了正確的密碼,但是由於服務器的主配置文件中設置了PermitRootLogin no,不允許 root 管理員遠程登錄。
Permission denied, please try again.
[email protected]‘s password:
Permission denied, please try again.
[email protected]‘s password:

【註意】一般的服務程序並不會在配置文件修改之後立即獲得最新的參數。如果 想讓新配置文件生效,則需要手動重啟相應的服務程序(systemctl restart sshd)。最好也將這個服務程序加入到開機 啟動項中(systemctl enable sshd),這樣系統在下一次啟動時,該服務程序便會自動運行,繼續為用戶提供服務。

=============================================================================================================================

SSH安全密鑰驗證:

1、概述:

  加密是對信息進行編碼和解碼的技術,它通過一定的算法(密鑰)將原本可以直接閱讀 的明文信息轉換成密文形式。密鑰即是密文的鑰匙,有私鑰和公鑰之分。在傳輸數據時,如果 擔心被他人監聽或截獲,就可以在傳輸前先使用公鑰對數據加密處理,然後再行傳送。這樣, 只有掌握私鑰的用戶才能解密這段數據,除此之外的其他人即便截獲了數據,一般也很難將 其破譯為明文信息。既不采用手動輸入密碼登陸,直接密鑰驗證登陸,更安全,不容易破解。

2、配置步驟:

    2.1第一步:在客戶端主機中生成“密鑰對”。命令:ssh-keygen

        技術分享圖片

   

   2.2第二步:把客戶端主機中生成的公鑰文件傳送至遠程主機。命令:ssh-copy-id 192.168.232.151 #註意這個IP地址是將客戶機生成的密鑰發送到服務器的目標主機IP地址。成功登陸驗證過後,便不再需要輸入密碼驗證。

技術分享圖片  

    2.3第三步:對服務器進行設置,使其只允許密鑰驗證,拒絕傳統的口令驗證方式。將PasswordAuthentication yes改成PasswordAuthentication no即可。

         驗證:ssh 192.168.232.151

【註意】客戶端生成的公鑰和私鑰文件存放位置。

技術分享圖片

遠程控制服務:配置sshd服務,密鑰驗證登陸