如何在sshd中禁用所有的身份validation?

这里有一个问题,我已经find了绝对没有答案:你如何configurationsshd,让任何人都可以免费SSH进入框中没有密码或密钥authentication? 目的是允许任何人运行“ssh user @ host”并进入方框,而不必提供密码或configuration任何密钥。 这甚至有可能吗?

在有人问起之前,我很清楚这在实践中是一个坏主意,但是,这纯粹是为了学习目的而使用的沙盒服务器。

免责声明:我绝不会推荐这样做。

我假设这是一个局域网系统,我希望不是一个互联网系统,但你可以创build一个没有密码的用户,并在OpenSSHdconfiguration启用以下选项:

PermitEmptyPasswords yes 

要从用户中删除密码,可以使用-d和passwd。

 passwd -d username 

使用SSH密钥的正确方法

你为自己生成一个SSH密钥对,如何生成这个取决于你的客户端。 对于Linux,它是ssh-keygen 。 生成密钥时可以使用空密码,因此login时不必input密码。

在您的服务器中,您可以将公钥(id_rsa.pub)存储在通常位于用户的.ssh目录中的authorized_keys文件中的一行中。 这个文件可能需要被创build。 (对于单个密钥,将id_rsa.pub复制到服务器,〜/ .ssh / authorized_keys应该足够了)。

私钥文件永远不能公开发布,但可以发布给任何你想访问这个用户@机器的人。