CentOS SFTP 远程管理实操指南
一 环境准备与基础配置
sudo yum install -y openssh-server && sudo systemctl start sshd && sudo systemctl enable sshd。sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload。sudo systemctl status sshd;客户端可用 sftp your_user@your_server_ip 测试连接。二 安全加固的 SFTP 专用账户与目录
sudo groupadd sftpuserssudo useradd -g sftpusers -d /upload -s /sbin/nologin sftpusersudo passwd sftpusersudo mkdir -p /data/sftp/uploadsudo chown root:sftpusers /data/sftp && sudo chmod 755 /data/sftpsudo chown sftpuser:sftpusers /data/sftp/upload && sudo chmod 755 /data/sftp/upload三 配置 SSHD 启用 internal-sftp 与访问控制
Match User sftpuser
ChrootDirectory /data/sftp
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
PermitTTY no
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
Subsystem sftp /usr/libexec/openssh/sftp-server 注释或替换为:Subsystem sftp internal-sftpsudo sshd -t(配置文件语法检查)sudo systemctl restart sshd四 客户端连接与常用操作
sftp sftpuser@your_server_ip,按提示输入密码。ssh-keygen -t rsa -b 2048ssh-copy-id sftpuser@your_server_ipsudo vi /etc/ssh/sshd_config 中设置 PasswordAuthentication no(可选,确保已有可用公钥后再关闭密码)。ls、cd、pwdlcd、lls、lpwdput local_file、get remote_fileexit/bye五 常见问题排查与安全建议
sudo sshd -t 检查语法;sudo systemctl status sshd 与 journalctl -xeu sshd 查看详细错误。AllowTcpForwarding、X11Forwarding、PermitTTY。