因此,我正在尝试弄清楚如何建立隧道,但没有其他办法。我不希望用户拥有 shell 访问权限。
我找到了这个ssh 隧道仅访问
这些信息是否过时了?每次我尝试通过 ssh 登录时,我都会将用户的 shell 设置为 /usr/(s)bin/nologin、/bin/false、bin/true 等。
而不是说:
This account is currently not available.
它说:
Permission denied, please try again.
密码正确。我非常确定这一点,因为我输入了密码,然后将其粘贴到控制台中以确保没有错误。将用户的 shell 改回 nologin,并尝试使用与剪贴板中实际 shell 相同的密码重新连接,结果显示权限被拒绝。
我尝试将 ForcedCommand internal-sftp 放入配置文件中,但这也没有任何作用。
我尝试使用搜索中找到的脚本之一来创建 fakesh 并将用户的 shell 设置为该脚本,但 ssh 也不接受该脚本。唯一可行的方法是将用户设置为实际的 shell。这是怎么回事?
答案1
我确实搞明白了。这是 PAM 的问题。显然您需要将 /usr/bin/nologin 添加到 /etc/shells,否则它将拒绝验证连接。