温馨提示×

Ubuntu SFTP支持哪些认证方式

小樊
40
2025-11-25 09:40:46
栏目: 智能运维

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 中按需配置。

快速启用示例

  • 启用公钥认证(推荐)

    • 生成密钥:ssh-keygen -t rsa -b 4096
    • 分发公钥:ssh-copy-id user@server
    • 配置:在 /etc/ssh/sshd_config 中确保 pubkeyauthentication yes,必要时设置 authorizedkeysfile 路径;重启 ssh 服务生效。
  • 启用 2FA(TOTP)

    • 安装 PAM 模块:sudo apt-get install libpam-google-authenticator
    • 为用户运行 google-authenticator 并按提示生成密钥/二维码
    • 配置:challengeresponseauthentication yes;usepam yes;重启 ssh 服务。
  • 使用 LDAP 或 Kerberos

    • LDAP:安装并配置 libnss-ldap、libpam-ldap,设置 UsePAM yes,完成目录与 PAM 策略后重启 ssh 服务
    • Kerberos:安装 krb5-user,配置 /etc/krb5.conf,获取票据(kinit),在 sshd_config 中启用 gssapiauthentication 与 UsePAM。

与 SFTP 常用配置的配合要点

  • 若需限制用户仅使用 SFTP 并做目录隔离,可在 /etc/ssh/sshd_config 中使用 match 段:设置 chrootdirectory、forcecommand internal-sftp、allowtcpforwarding no、x11forwarding no;同时确保 chroot 目录及其上级目录属主为 root、权限不超过 755,再为用户创建可写子目录并调整属主属组。

0