溫馨提示×

如何在CentOS上配置SFTP證書認證

小樊
48
2025-09-24 07:33:06
欄目: 智能運維

在CentOS上配置SFTP證書認證可以增強系統的安全性。以下是一個詳細的步驟指南,幫助你在CentOS上配置SFTP證書認證:

1. 安裝必要的軟件包

首先,確保你的系統已經安裝了OpenSSH服務器和客戶端。

sudo yum install openssh-server openssh-clients

2. 生成CA證書和密鑰

創建一個CA(證書頒發機構)來簽發用戶證書。

生成CA私鑰

sudo openssl genrsa -out ca.key 4096

生成CA證書

sudo openssl req -x509 -new -nodes -key ca.key -sha256 -days 1024 -out ca.crt -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=YourCAName"

3. 生成用戶證書和密鑰

為每個用戶生成證書和私鑰。

生成用戶私鑰

sudo openssl genrsa -out user.key 2048

生成用戶證書簽名請求(CSR)

sudo openssl req -new -key user.key -out user.csr -subj "/C=US/ST=YourState/L=YourCity/O=YourOrganization/CN=username"

使用CA證書簽發用戶證書

sudo openssl x509 -req -in user.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out user.crt -days 500 -sha256

4. 配置SSH服務器

編輯SSH服務器配置文件 /etc/ssh/sshd_config。

sudo vi /etc/ssh/sshd_config

添加或修改以下配置:

# 啟用證書認證
PubkeyAuthentication yes
AuthorizedKeysCommand /usr/local/bin/ssh-authorizedkeys
AuthorizedKeysCommandUser nobody

# 禁用密碼認證(可選)
PasswordAuthentication no

# 指定證書認證的路徑
Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

5. 創建用戶組和用戶

創建一個專門用于SFTP的用戶組,并將用戶添加到該組。

sudo groupadd sftpusers
sudo usermod -aG sftpusers username

6. 配置授權密鑰文件

創建一個目錄來存儲用戶的授權密鑰,并設置適當的權限。

sudo mkdir /home/username/.ssh
sudo chown username:username /home/username/.ssh
sudo chmod 700 /home/username/.ssh

將用戶的公鑰(user.crt)添加到 ~/.ssh/authorized_keys 文件中。

sudo echo "certificate user.crt" >> /home/username/.ssh/authorized_keys
sudo chmod 600 /home/username/.ssh/authorized_keys

7. 配置SSH授權密鑰命令

創建一個腳本來獲取用戶的授權密鑰。

sudo vi /usr/local/bin/ssh-authorizedkeys

添加以下內容:

#!/bin/bash
USER=$1
openssl x509 -noout -subject -in /home/$USER/.ssh/user.crt | awk -F'/' '{print $3}' | tr -d '\n'

賦予腳本執行權限:

sudo chmod +x /usr/local/bin/ssh-authorizedkeys

8. 重啟SSH服務

重啟SSH服務以應用配置更改。

sudo systemctl restart sshd

9. 測試SFTP連接

使用SFTP客戶端連接到服務器,驗證證書認證是否正常工作。

sftp -o HostKeyAlias=username username@your_server_ip

通過以上步驟,你應該能夠在CentOS上成功配置SFTP證書認證。確保所有步驟都正確執行,并且防火墻允許SSH連接。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女