一. 修改SSH配置文件
1. 因為Linux安裝的時候會默認安裝openssh,所以基本不需要再次安裝。
可以使用命令檢查是否已經安裝: yum list installed | grep openssh-server
2. 用文本編輯器打開配置文件:/etc/ssh/sshd_config 修改以下項:
// 文本編輯器打開配置文件
nano /etc/ssh/sshd_config // 取消以下配置的注釋 // 監聽端口號,為了隱蔽性可以修改,但是需要同步修改防火牆
Port 22
// 監聽地址,全部監聽
ListenAddress 0.0.0.0
// 使用SSH v2版本
Protocol 2
// 禁用DNS反向解析
UseDNS no
3. 需要重啟sshd服務: systemctl restart sshd
4. 檢查sshd服務是否啟動: systemctl status sshd
5. 檢查設置的22端口是否已經被監聽(前提是安裝了net-tools套件): netstat -an | grep 22
6. 現在已經可以使用密碼遠程登陸Linux服務器了,如果有防火牆一定要開啟防火牆,否則訪問會被攔截。
7. 考慮到SSH是要隨着系統啟動的重要工具,所以建議加入開啟自啟中。不過安裝系統的時候一般Linux會默認加入開機自啟。
// 檢查是否已經在自啟清單 systemctl list-unit-files | grep sshd // 如果“sshd.service”已經是“enabled”就不需要執行下面的命令 // 加入自啟 systemctl enable sshd.service
二. 使用Linux創建密鑰並且限制登陸方式
1. 進入需要登陸的用戶ssh目錄: cd /root/.ssh
如果沒有這個目錄,需要先進行登陸才會生成: ssh localhost
2. 在客戶端生成SSH密鑰對,這個不需要說明,流程很簡單。
3. 上傳公鑰id_rsa.pub到Linux服務器端的.ssh文件夾中。
4. 檢查服務器端的.ssh文件夾中是否有authorized_keys文件,如果沒有,使用如下方式創建。
// 創建文件
touch authorized_keys // 賦予權限
chmod 600 /root/.ssh/authorized_keys
5. 將上傳的公鑰追加到公鑰數據中:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
6. 再次回到服務器端SSH配置文件,進行配置
// 打開配置文件
nano /etc/ssh/sshd_config // 修改以下配置 // 啟用密碼驗證
PasswordAuthentication yes // 啟用密鑰對驗證(配置了密鑰會優先使用密鑰)
PubkeyAuthentication yes // 指定公鑰庫文件
AuthorizedKeysFile .ssh/authorized_keys // 同時為了保證登陸安全,需要做以下配置 // 登錄驗證時間為2分鍾
LoginGraceTime 2m // 最大重試次數為6次
MaxAuthTries 6
// 禁止空密碼登錄
PermitEmptyPasswords no
7. 重啟sshd服務: systemctl restart sshd
