在CentOS上配置SFTP(SSH File Transfer Protocol)以使用安全連接,通常涉及以下幾個步驟:
首先,確保你的CentOS系統上已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
啟動SSH服務并設置為開機自啟:
sudo systemctl start sshd
sudo systemctl enable sshd
編輯SSH配置文件 /etc/ssh/sshd_config
來啟用SFTP并配置安全設置。
sudo vi /etc/ssh/sshd_config
在文件中找到并修改以下行:
# 啟用SFTP子系統
Subsystem sftp /usr/libexec/openssh/sftp-server
# 禁止root用戶通過SSH登錄(可選但推薦)
PermitRootLogin no
# 使用公鑰認證(可選但推薦)
PubkeyAuthentication yes
# 限制用戶登錄
AllowUsers your_username
# 配置SSH密鑰認證(可選但推薦)
AuthorizedKeysFile .ssh/authorized_keys
# 配置SSH協議版本(建議使用最新版本)
Protocol 2
# 配置SSH加密算法(建議使用強加密算法)
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
MACs hmac-sha2-512,hmac-sha2-256
保存并退出編輯器。
應用配置更改:
sudo systemctl restart sshd
確保防火墻允許SSH連接。如果使用的是firewalld,可以添加以下規則:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果你還沒有SSH密鑰對,可以生成一個:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
按照提示操作,生成的密鑰對將保存在 ~/.ssh/id_rsa
和 ~/.ssh/id_rsa.pub
。
將生成的公鑰 (id_rsa.pub
) 添加到服務器的 ~/.ssh/authorized_keys
文件中:
ssh-copy-id your_username@your_server_ip
使用SFTP客戶端連接到服務器:
sftp your_username@your_server_ip
如果一切配置正確,你應該能夠成功連接到服務器并進行文件傳輸。
確保SSH和SFTP的日志記錄功能已啟用,以便監控和排查問題。日志文件通常位于 /var/log/secure
。
sudo tail -f /var/log/secure
通過以上步驟,你可以在CentOS上配置一個安全的SFTP連接。