我已经设置了带有 chrooted 目录的 ssh,用户只能使用 sftp 并访问目录,并且所有目录都是子文件夹。我唯一的问题是,我需要在创建用户后让用户以某种方式更改密码。
我一直在寻找一个可靠的网络界面,他们可以登录并更改密码,但一直没找到任何人。您知道我如何通过任何可行的解决方案让他们做到这一点吗?
答案1
我将转而使用 SSH 密钥对并完全放弃密码验证。
它更安全(您可以禁用密码验证sshd_config
并大幅减少您的暴力破解尝试auth.log
),因为他们可以创建自己的密码,如果他们忘记了,他们可以创建一个新的密钥对,然后简单地通过电子邮件向您发送他们的公钥以附加到他们的用户authorized_keys
文件中。
PuttyGen 非常易于使用,Mac 和 Linux 用户都有ssh-keygen
内置功能,本质上是两个命令来生成密钥并用cat
或其他方式输出,以便他们可以复制/粘贴(或者您可以使用简单的 bash 脚本或 Cocoa 或其他任何东西为他们包装)。
编辑
如果您的用户对计算机知识知之甚少,我认为 FTP 服务器根本行不通。您应该转向基于 Web 的文件管理系统。选择您喜欢的脚本语言/平台:市面上有几十种这样的语言/平台。 PHP文件导航器例如,是固体的。
如果由于某种原因您无法使用 FTP,请为他们重置密码并通过带外(电话或短信)或电子邮件将其发送给他们(如果风险/内容隐私较低)。
答案2
如果您的用户处于 chroot 状态,无论他们运行什么命令,他们都无法访问 /etc/passwd 文件。
更改密码就是你要找的。它最后一次更新是在 2005 年,但它仍然可以工作,而且要求很低。