![openssh 与虚拟用户和 chroot](https://linux22.com/image/1494488/openssh%20%E4%B8%8E%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E5%92%8C%20chroot.png)
我正在寻找一种运行 opensshd 的方法,以非特权用户身份向用户提供 sftp,例如在端口 8022 上。此 opensshd 应采用类似客户密码文件的内容,该文件可以包含用户名、密码等信息,并将所有内容放入公共根目录内每个用户的专用文件夹中。如果可能的话,如何使用 opensshd 实现这一点?
为了更清楚我需要:
- opensshd 在某个 >1024 端口上使用非 root 用户身份运行,并使用自定义 sshd-config 文件
- 可以通过本地文本文件等为 openssh 定义非当前系统的系统用户,非常适合没有 PAM 交互的情况
- 该用户有某种类型的 changeroot,因此
user1
无法user2
在上传和下载期间访问数据。
我发现了一些为 openssh 定义 chroot 的示例,但不支持没有 PAM 的虚拟用户。现在我想知道这是否可能。
答案1
Openssh 不支持虚拟用户。它只能使用passwd
或进行身份验证PAM
。如果您正在寻找虚拟用户,您应该尝试一下vsftpd
。