溫馨提示×

如何解決 CentOS SFTP 連接問題

小樊
131
2025-02-08 14:00:22
欄目: 智能運維

要解決CentOS上的SFTP連接問題,可以按照以下步驟進行排查和解決:

1. 檢查SSH服務狀態

首先,確認SSH服務是否正在運行??梢允褂靡韵旅顧z查SSH服務的狀態:

sudo systemctl status sshd

如果SSH服務未運行,請使用以下命令啟動它:

sudo systemctl start sshd

并確保SSH服務在系統啟動時自動運行:

sudo systemctl enable sshd

2. 配置SFTP子系統

確保在SSH配置文件 /etc/ssh/sshd_config 中正確配置了SFTP子系統。找到以下行并取消注釋(如果存在 # 符號),或者如果不存在則添加它們:

Subsystem sftp /usr/libexec/openssh/sftp-server

或者使用內部SFTP:

Subsystem sftp internal-sftp

保存并關閉文件,然后重新啟動SSH服務以使更改生效:

sudo systemctl restart sshd

3. 創建SFTP用戶

為了安全起見,建議為SFTP服務創建專門的用戶。使用以下命令創建用戶:

sudo useradd -m -s /sbin/nologin sftpuser

然后為用戶設置密碼:

sudo passwd sftpuser

4. 配置用戶權限

  • 創建SFTP根目錄:為用戶創建一個專門的目錄用于存放SFTP文件。
sudo mkdir /sftp/sftpuser
sudo chown sftpuser:sftpuser /sftp/sftpuser
sudo chmod 755 /sftp/sftpuser
  • 配置 .ssh 目錄和 authorized_keys 文件
sudo mkdir /home/sftpuser/.ssh
sudo cp /etc/ssh/ssh_host_rsa_key /home/sftpuser/.ssh/authorized_keys
sudo chmod 700 /home/sftpuser/.ssh
sudo chmod 600 /home/sftpuser/.ssh/authorized_keys
sudo chown sftpuser:sftpuser /home/sftpuser/.ssh

5. 配置防火墻

確保防火墻允許SSH和SFTP連接。使用以下命令打開SSH端口(默認22):

sudo firewall-cmd --permanent --add-port=22/tcp
sudo firewall-cmd --reload

6. 測試SFTP連接

使用SFTP客戶端連接到服務器。在命令行中輸入以下命令,將 your_username、your_passwordyour_server_ip 替換為實際的用戶名、密碼和服務器IP地址:

sftp your_username@your_server_ip

輸入密碼后,如果連接成功,則表示SFTP配置正確。

7. 常見問題排查

  • 連接失敗:檢查SSH服務狀態、防火墻設置、SFTP配置文件、用戶權限等。
  • 權限問題:確保用戶主目錄和SFTP根目錄的權限設置正確。
  • 證書問題:如果使用密鑰認證,確保證書路徑和權限設置正確。

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