SSH 隧道尝试。没有实际的 shell 则无法建立 SSH 连接。(Arch Linux)

SSH 隧道尝试。没有实际的 shell 则无法建立 SSH 连接。(Arch Linux)

因此,我正在尝试弄清楚如何建立隧道,但没有其他办法。我不希望用户拥有 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,否则它将拒绝验证连接。

相关内容