在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。