在线挑战:如果远程 SSH 服务器回复 /bin/false: 文件未找到,我该怎么办?

在线挑战:如果远程 SSH 服务器回复 /bin/false: 文件未找到,我该怎么办?

我正在尝试解决在线挑战。我有一个服务器地址和一个 RSA 私钥,我将这两个密钥都提供给 Putty(我使用的是 Windows,服务器在 Ubuntu 上运行 OpenSSH)。我已成功使用找到的密码和我猜测的用户名进行连接。然而,一旦我向 Putty 提供用户名和 RSA 密码,服务器就会响应:

/bin/false: File not found

并立即关闭连接。

是否可以将相同的私钥与不同的用户名一起使用,而该用户名将具有不同的主目录(希望如此)?

有没有办法在连接协商期间更改默认主目录?

我还对从同一 IP 地址提供服务的 FTP 服务器具有只读访问权限,但是我没有找到(或没有权限)任何 SSH 配置文件(FTP 服务器是我找到私有文件的地方)。 RSA 密钥)

无论如何,任何建议当然都会受到赞赏。在过去的两天里我一直在用头撞墙试图解决这个问题。

答案1

是的,任意数量的用户可以使用相同的密钥。

不,据我所知,在连接协商期间无法更改默认主目录。

我猜想您猜到的用户名的外壳被指定为bin/false.禁用 Unix 用户帐户登录的一种方法是将其 shell 设置为/bin/false,因此任何登录尝试都将执行 /bin/false 而不是 shell。由于 /bin/false 是一个非常简单的程序,不以任何方式交互,只会返回错误代码,因此会话将立即结束。

根据系统上其他服务的配置方式,该帐户可能仍可用于不需要 shell 的其他操作,例如 FTP 或 SFTP 连接或 IMAP/POP 电子邮件访问。

在你的情况下,看起来最初的斜杠可能丢失了。如果是这样,系统会有效地查找<current directory>/bin/false它,但无法找到它,因此您将看到由此产生的错误消息。

提示1:

您可能想尝试找出该目录是什么,并查看它是否可以访问。

提示2:

也许你可以为该路径提供一些可执行的东西?

答案2

看起来 /etc/passwd 文件中有类似的内容:

user:x:1000:1000:,,,:/home/user:/bin/false

所以,登录 shell 是 /bin/false 你必须绕过它。

看:https://serverfault.com/questions/162018/force-ssh-to-use-a-specific-shell

相关内容