在CentOS上使用SFTP(SSH File Transfer Protocol)主要涉及以下幾個步驟:
首先,確保你的CentOS系統上已經安裝了OpenSSH服務器。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install openssh-server
安裝完成后,啟動SSH服務并設置為開機自啟:
sudo systemctl start sshd
sudo systemctl enable sshd
確保防火墻允許SSH連接。如果使用的是firewalld
,可以添加相應的規則:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
如果使用的是iptables
,可以添加如下規則:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
為了安全起見,建議為SFTP創建一個專用用戶,并限制其權限。
sudo adduser sftpuser
sudo passwd sftpuser
編輯/etc/passwd
文件,將用戶的默認shell改為/sbin/nologin
或/bin/false
,以防止用戶通過SSH登錄:
sudo usermod -s /sbin/nologin sftpuser
或者直接編輯/etc/shells
文件,刪除或注釋掉用戶的shell路徑,然后重新登錄用戶。
編輯/etc/ssh/sshd_config
文件,添加或修改以下內容以啟用SFTP子系統:
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
創建一個新的用戶組sftpusers
,并將sftpuser
添加到該組:
sudo groupadd sftpusers
sudo usermod -aG sftpusers sftpuser
應用配置更改后,重啟SSH服務:
sudo systemctl restart sshd
現在,你可以使用SFTP客戶端連接到你的CentOS服務器。例如,使用命令行SFTP客戶端:
sftp sftpuser@your_server_ip
輸入密碼后,你應該能夠連接到服務器并進行文件傳輸。
755
。chroot
jail或其他安全措施。通過以上步驟,你可以在CentOS上成功配置和使用SFTP。