Ubuntu SFTP 认证方式概览
在 Ubuntu 上,SFTP 基于 OpenSSH 的 SSH 守护进程(sshd) 提供,认证方式与 SSH 一致。常见方式包括:密码认证、公钥认证、双因素认证(2FA,TOTP)、基于 PAM 的集中认证(如 LDAP/Kerberos)、以及主机基于认证(Hostbased)。这些方式可通过编辑 /etc/ssh/sshd_config 启用或组合使用,以兼顾安全与运维需求。
常见认证方式对照
| 认证方式 | 关键配置项 | 说明与典型场景 |
|---|---|---|
| 密码认证 | passwordauthentication yes | 最通用;适合临时接入或无法部署密钥的环境。 |
| 公钥认证 | pubkeyauthentication yes;authorizedkeysfile .ssh/authorized_keys | 推荐方式;安全性高,便于自动化与免密登录。 |
| 双因素认证 2FA(TOTP) | challengeresponseauthentication yes;usepam yes | 在密码基础上叠加一次性口令,提高账户安全。 |
| LDAP 集中认证 | usepam yes;配合 libnss-ldap、libpam-ldap | 企业目录统一账号管理,集中授权与策略控制。 |
| Kerberos 认证 | gssapiauthentication yes;usepam yes | 基于票据的强认证,适合与 AD/FreeIPA 集成。 |
| 主机基于认证 | hostbasedauthentication yes | 机器对机器信任的场景,较少用于普通 SFTP 用户登录。 |
| 以上方式均为 OpenSSH 原生支持,Ubuntu 默认通过安装 openssh-server 即可使用;启用或禁用可在 /etc/ssh/sshd_config 中按需配置。 |
快速启用示例
启用公钥认证(推荐)
启用 2FA(TOTP)
使用 LDAP 或 Kerberos
与 SFTP 常用配置的配合要点