centos sftp用户认证方式
在 centos 上,sftp 基于 openssh,常用认证方式包括账户密码、ssh 公钥、以及“密码+密钥”的二要素组合;配合 chroot 和 internal-sftp 可限制用户仅能进行文件传输。
方式对比与要点
| 认证方式 | 启用与配置要点 | 典型场景 | 主要优点 | 注意点 |
|---|---|---|---|---|
| 账户密码认证 | 确保 sshd_config 中 passwordauthentication 为 yes;为用户设置密码后可登录 | 快速开通、临时接入 | 部署简单、运维门槛低 | 易受暴力破解,建议配合强口令与失败限制 |
| ssh 公钥认证 | 开启 pubkeyauthentication yes;在客户端生成密钥对并将公钥写入 ~/.ssh/authorized_keys;可将 passwordauthentication 设为 no 强制仅密钥 | 生产环境、自动化脚本、免密登录 | 安全性高、可免交互登录 | 妥善保护私钥(权限 600);authorized_keys 权限与属主需正确 |
| 密码+密钥组合认证 | 同时启用 passwordauthentication 与 pubkeyauthentication;部分客户端可配置“尝试密钥,失败后回退密码” | 渐进式迁移、兼容性与安全性兼顾 | 平滑过渡、提升安全基线 | 需客户端支持回退策略,策略不当可能带来可用性问题 |
以上方式均通过修改 /etc/ssh/sshd_config 生效,并可用 systemctl restart sshd 重载;密钥登录常见流程为 ssh-keygen 生成密钥,ssh-copy-id 分发公钥。
相关安全与配置提示