溫馨提示×

CentOS SFTP配置中如何使用密鑰認證

小樊
46
2025-07-10 16:30:00
欄目: 智能運維

在CentOS系統中配置SFTP以使用密鑰認證,可以按照以下步驟進行:

1. 生成SSH密鑰對

首先,你需要在客戶端生成一個SSH密鑰對。如果你已經有一個密鑰對,可以跳過這一步。

ssh-keygen -t rsa -b 4096

按照提示操作,通常會生成兩個文件:id_rsa(私鑰)和id_rsa.pub(公鑰)。

2. 將公鑰復制到服務器

將生成的公鑰復制到服務器的~/.ssh/authorized_keys文件中。你可以使用ssh-copy-id命令來完成這一步:

ssh-copy-id user@server_ip

其中,user是服務器上的用戶名,server_ip是服務器的IP地址。

3. 配置SSH服務器

確保服務器的SSH配置文件/etc/ssh/sshd_config允許密鑰認證。編輯該文件:

sudo vi /etc/ssh/sshd_config

找到并確保以下行沒有被注釋掉(即沒有以#開頭):

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存并退出編輯器。

4. 重啟SSH服務

為了使配置生效,需要重啟SSH服務:

sudo systemctl restart sshd

5. 配置SFTP

默認情況下,SSH和SFTP使用相同的配置。因此,只要SSH配置正確,SFTP也會使用密鑰認證。

6. 測試SFTP連接

現在,你可以嘗試使用SFTP連接到服務器:

sftp user@server_ip

如果一切配置正確,你應該能夠使用密鑰認證登錄到服務器。

7. 防火墻設置

確保服務器的防火墻允許SSH連接。如果你使用的是firewalld,可以添加以下規則:

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

如果你使用的是iptables,可以添加以下規則:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

8. SELinux設置(可選)

如果你的系統啟用了SELinux,可能需要調整SELinux策略以允許SFTP使用密鑰認證。你可以臨時禁用SELinux進行測試:

sudo setenforce 0

或者,你可以修改SELinux策略文件/etc/selinux/config,將SELINUX=enforcing改為SELINUX=permissive,然后重啟系統。

通過以上步驟,你應該能夠在CentOS系統中成功配置SFTP以使用密鑰認證。

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