您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux怎么安装SFTP服务器
## 什么是SFTP
SFTP(SSH File Transfer Protocol)是基于SSH协议的安全文件传输协议,相比传统的FTP,它通过加密通道传输数据,提供了更高的安全性。SFTP默认使用22端口(与SSH相同),无需额外配置防火墙规则。
---
## 安装前准备
1. **系统要求**
- 任何主流Linux发行版(Ubuntu/Debian/CentOS/RHEL等)
- 已安装SSH服务(大多数Linux默认已安装)
- root或sudo权限
2. **检查SSH状态**
```bash
systemctl status sshd # CentOS/RHEL
systemctl status ssh # Ubuntu/Debian
sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server -y
sudo groupadd sftpusers
sudo useradd -m -G sftpusers -s /bin/false sftpuser
sudo passwd sftpuser # 设置密码
注意:
/bin/false
Shell限制用户仅能使用SFTP
编辑/etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
添加或修改以下内容:
Subsystem sftp internal-sftp
Match Group sftpusers
ChrootDirectory /home/%u
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
sudo mkdir /home/sftpuser/files
sudo chown sftpuser:sftpuser /home/sftpuser/files
sudo systemctl restart sshd
sftp sftpuser@localhost
sftp sftpuser@your_server_ip
put local_file.txt # 上传
get remote_file.txt # 下载
修改sshd_config
:
ChrootDirectory /var/sftp/%u
sudo mkdir /home/sftpuser/.ssh
sudo nano /home/sftpuser/.ssh/authorized_keys
sudo chmod 700 /home/sftpuser/.ssh
sudo chmod 600 /home/sftpuser/.ssh/authorized_keys
查看SFTP日志:
tail -f /var/log/auth.log # Ubuntu/Debian
tail -f /var/log/secure # CentOS/RHEL
sudo ufw allow 22 # Ubuntu
sudo firewall-cmd --add-service=ssh --permanent # CentOS
确保用户对子目录有写入权限:
sudo chown -R sftpuser:sftpuser /home/sftpuser/files
Chroot目录必须为root所有且其他用户不可写:
sudo chmod 755 /home/sftpuser
禁用root登录
在sshd_config
中设置:
PermitRootLogin no
更改默认端口
修改Port 2222
并更新防火墙规则
Fail2Ban防护
安装防暴力破解工具:
sudo apt install fail2ban
定期更新
sudo apt update && sudo apt upgrade openssh-server
通过OpenSSH内置的SFTP功能,我们可以快速搭建安全的文件传输服务。关键步骤包括:创建专用用户、正确配置Chroot目录权限、优化SSH配置。相比FTP,SFTP无需额外安装服务,且安全性更高,是Linux服务器文件传输的理想选择。 “`
(全文约1100字,包含配置示例、验证方法和故障排查)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。