SSH配置+公鑰證書認證方式登錄


什么是SSH:

SSH 為 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。如果一個用戶從本地計算機,使用SSH協議登錄另一台遠程計算機,我們就可以認為,這種登錄是安全的,即使被中途截獲,密碼也不會泄露。當主機中開啟openssh服務,那么就對外開放了遠程連接的接口,ssh為openssh服務的客戶端,sshd為openssh服務的服務端。

實驗:1.安裝開啟sshd服務,首先使用用戶名、密碼登錄方式登錄。

在虛擬機中登錄CentOS 7操作系統,使用命令 systemctl status sshd.service 查看sshd服務狀態

可以看到CentOS 7中是默認安裝sshd服務的,接下來使用putty64工具登錄系統

首先查看centos 7地址,使用命令ip addr

 

打開putty工具,在Host Name(or IP address)輸入虛擬機IP,在Port輸入默認端口號22,點擊Open打開

 

使用虛擬機用戶名、密碼進行登錄

centos7操作SSH/SSHD服務(查看/啟動/重啟/自啟)

查看狀態: systemctl status sshd.service

啟動服務: systemctl start sshd.service

重啟服務: systemctl restart sshd.service

開機自啟: systemctl enable sshd.service

 

2.配置sshd,root用戶不可登錄

首先編輯/etc/ssh/sshd_config文件,使用命令vim /etc/ssh/sshd_config

修改PermitRootLogin后面的yes為no,將前面的#去掉,使用i進入編輯模式,進行修改,修改后按Esc,進入命令模式,然后用Shift+ZZ保存退出。

重啟sshd服務,使用命令 systemctl restart sshd.service

重新打開putty,連接虛擬機,輸入root用戶名,密碼,進行登錄。正確的密碼提示Access denied ,訪問被拒絕。

 

3.使用公鑰證書認證方式登錄,非密碼方式。

首先修改配置文件/etc/ssh/sshd_config,將下列三項前面的注釋# 去掉,就是可以讓秘鑰登錄

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

 

下載puttygen.exe工具,雙擊打開

點擊Generate,開始生成密鑰,在頁面中間空白區域來回移動鼠標,可以快速生成密鑰。

區域內生成的就是公鑰,“Key comment”保持不變也可以編輯,用來對密鑰介紹。“Key passphrase”是用來給私鑰加密,“Confim passphrase”是重復輸入密碼,使用認證登錄時,只加載私鑰輸入這個密碼就可以登錄系統。點擊Save private key保存私鑰到本地

復制公鑰到服務器。點擊公鑰進行復制,粘貼到/root/.ssh/authorized_keys文件下。首先使用 mkdir /root/.ssh 創建目錄,命令 mkdir /root/.ssh

修改目錄權限為700,命令 chmod 700 /root/.ssh/

 新建文件anthorized_keys,命令 vim /root/.ssh/authorized_keys,將公鑰粘貼進去,保存退出(此時可以設置root為可以登錄,使用putty打開,進行復制粘貼)

 然后就可以使用秘鑰登錄了,首先打開putty輸入虛擬機IP,端口號22,點擊左側SSH下拉框,進入Auth模塊

點擊Browser加載,本地的私鑰文件,打開

回到了PuTTY登錄頁面輸入root

 直接輸入自己私鑰密碼即可登錄

*需要注意的就是儲存公鑰的目錄一定要修改權限為700,公鑰內容別粘貼錯

 

4.設置sshd日志,單獨存放至/var/ssh/sshd.log中

首先修改ssh程序。使用命令vim  /etc/ssh/sshd_config打開配置文件,修改SyslogFacility AUTHPRIV為SyslogFacility local5,保存退出

然后修改日志程序。使用命令Vim /etc/rsyslog.conf打開日志程序(注意是rsyslog.conf!!!),添加如下兩行代碼,並保存退出

# save sshd messages also to sshd.log

local5.*  /data/log/sshd.log

重啟sshd服務以及syslog服務。使用命令systemctl restart sshd.service       service rsyslog restart

打開PuTTY使用公鑰證書認證方式登錄,查看日志。tail /var/log/sshd.log


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM