CentOS与Filezilla的安全连接设置
导读:CentOS 与 FileZilla 的安全连接设置 一、方案总览与选择 优先选择 SFTP(基于 SSH):系统自带 OpenSSH,配置简单、加密强、穿透力强,适合绝大多数场景。 如必须使用 FTP,请启用 FTPS(显式 FTP o...
CentOS 与 FileZilla 的安全连接设置
一、方案总览与选择
- 优先选择 SFTP(基于 SSH):系统自带 OpenSSH,配置简单、加密强、穿透力强,适合绝大多数场景。
- 如必须使用 FTP,请启用 FTPS(显式 FTP over TLS):通过 vsftpd 配置证书并强制加密,避免明文传输。
- 不建议使用明文 FTP;若环境受限,至少使用 TLS 加密或改为 SFTP。
二、方案一 SFTP 配置与连接(推荐)
- 服务端配置(CentOS)
- 安装并启动 SSH 服务:
- 安装:
sudo yum install -y openssh-server - 启动与开机自启:
sudo systemctl start sshd & & sudo systemctl enable sshd
- 安装:
- 加固建议(编辑 /etc/ssh/sshd_config):
- 禁用 root 直连:
PermitRootLogin no - 仅用密钥登录:
PasswordAuthentication no,并确保PubkeyAuthentication yes - 可选改端口:
Port 2222(示例)
- 禁用 root 直连:
- 防火墙放行:
- 默认端口:
sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload - 自定义端口(如 2222):
sudo firewall-cmd --permanent --add-port=2222/tcp & & sudo firewall-cmd --reload
- 默认端口:
- 如修改了端口,需同步 SELinux(仅 RHEL/CentOS):
sudo yum install -y policycoreutils-python-utilssudo semanage port -a -t ssh_port_t -p tcp 2222
- 安装并启动 SSH 服务:
- FileZilla 客户端连接
- 打开站点管理器(File → 站点管理器)→ 新建站点
- 协议:SFTP - SSH File Transfer Protocol
- 主机:服务器 IP/域名;端口:22(或自定义的 2222)
- 登录类型:
- 密码登录:输入用户名与密码
- 密钥登录:选择 密钥文件(支持 .ppk 或 OpenSSH 私钥;如使用 PuTTY 生成的密钥,选择 .ppk)
- 连接并保存站点,后续双击即可连接。
三、方案二 FTPS 配置与连接(vsftpd + TLS)
- 生成证书与密钥
- 创建目录:
sudo mkdir -p /etc/ssl/private - 生成自签名证书(合并证书与私钥):
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
- 创建目录:
- 配置 vsftpd(/etc/vsftpd/vsftpd.conf)
- 证书与密钥:
rsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pem
- 强制加密与会话安全:
ssl_enable=YESallow_anon_ssl=NOforce_local_data_ssl=YESforce_local_logins_ssl=YES
- 协议与加密套件:
ssl_tlsv1=YESssl_sslv2=NOssl_sslv3=NOrequire_ssl_reuse=NOssl_ciphers=HIGH
- 基本安全与隔离(按需):
anonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YES
- 重启服务:
sudo systemctl restart vsftpdsudo systemctl enable vsftpd
- 证书与密钥:
- FileZilla 客户端连接
- 协议:FTP - File Transfer Protocol
- 加密:要求显式 FTP over TLS(Explicit FTP over TLS)
- 登录类型:询问密码;输入用户名与密码
- 首次连接会弹出证书,核对 Common Name/颁发者/有效期 后确认保存。
四、防火墙与云安全组放行
- firewalld(CentOS)
- SFTP(SSH):
sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload - 自定义 SSH 端口(如 2222):
sudo firewall-cmd --permanent --add-port=2222/tcp & & sudo firewall-cmd --reload - FTPS 数据端口:建议启用被动模式并放行被动端口范围(在 vsftpd 中设置
pasv_min_port/pasv_max_port,然后sudo firewall-cmd --permanent --add-port=10090-10100/tcp & & sudo firewall-cmd --reload)
- SFTP(SSH):
- 云厂商安全组
- 放行 TCP 22(SFTP)或 TCP 21(控制通道,FTPS),以及 FTPS 被动端口范围(如 10090-10100)。
五、常见问题与排查
- 使用 FTPS 时命令行 FTP 客户端无法登录:FTP 明文客户端不支持加密,需使用支持 SSL/TLS 的客户端(如 FileZilla)。
- 证书校验失败:首次连接务必核对证书的 Common Name/域名或IP、颁发者、有效期,确认无误后再信任并保存。
- 修改 SSH 端口后连不上:检查
sshd_config的 Port、firewalld/云安全组是否放行新端口,以及 SELinux 端口类型是否正确。 - 被动模式失败或“不可路由地址”:常见于 FTPS 与 NAT/云环境,需在 vsftpd 正确配置被动端口范围并在防火墙放行,或改用 SFTP 规避复杂端口问题。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS与Filezilla的安全连接设置
本文地址: https://pptw.com/jishu/758592.html
