在CentOS上设置SFTP(SSH File Transfer Protocol)通常涉及以下几个步骤:
安装OpenSSH服务器: 如果你还没有安装OpenSSH服务器,可以使用以下命令来安装它:
sudo yum install openssh-server
启动并启用SSH服务: 安装完成后,启动SSH服务并设置为开机自启:
sudo systemctl start sshd
sudo systemctl enable sshd
配置SSH以允许SFTP:
默认情况下,SSH配置文件/etc/ssh/sshd_config
已经允许SFTP连接。但是,你可以检查并确保以下配置项存在并且没有被注释掉:
Subsystem sftp /usr/libexec/openssh/sftp-server
如果你发现这一行被注释掉了(前面有#
),请去掉注释。
重启SSH服务: 为了使更改生效,你需要重启SSH服务:
sudo systemctl restart sshd
配置防火墙: 如果你的CentOS系统启用了防火墙,你需要确保SFTP端口(默认是22)是开放的。你可以使用以下命令来开放端口:
sudo firewall-cmd --permanent --zone=public --add-service=ssh
sudo firewall-cmd --reload
创建SFTP用户: 你可以为用户创建一个专门用于SFTP的账户,并限制其只能通过SFTP访问。首先,创建一个新用户(如果还没有):
sudo adduser sftpuser
然后,设置该用户的密码:
sudo passwd sftpuser
限制SFTP用户的访问:
你可以编辑/etc/ssh/sshd_config
文件来进一步限制SFTP用户的访问。例如,你可以将SFTP用户限制在其主目录中:
Match User sftpuser
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这里,ChrootDirectory %h
将用户的根目录限制在其主目录中,ForceCommand internal-sftp
强制使用SFTP,而AllowTcpForwarding no
和X11Forwarding no
禁用了TCP和X11转发。
重启SSH服务: 再次重启SSH服务以应用更改:
sudo systemctl restart sshd
完成以上步骤后,你应该能够使用SFTP客户端连接到你的CentOS服务器,并且只能进行文件传输操作。记得使用你在步骤6中设置的用户名和密码进行连接。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
相关推荐:SFTP在CentOS上如何设置权限