我正在尝试解决在线挑战。我有一个服务器地址和一个 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