linux – 如何在sshd中禁用所有身份验证?

这是一个我发现绝对没有答案的问题:如何配置sshd以便任何人都可以在没有密码或密钥身份验证的情况下自由地SSH到框中?目标是允许任何人运行“ssh user @ host”并进入框中而无需提供密码或配置任何密钥.这有可能吗?

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

解决方法

Disclaimer: I would never recommend doing this.

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

PermitEmptyPasswords yes

要从用户删除密码,可以使用-d with passwd.

passwd -d username

The correct way using SSH keys

您自己生成一个SSH密钥对,如何生成这个密钥对取决于您的客户端.对于linux,它是ssh-keygen.生成密钥时可以使用空密码,因此您无需在登录时输入密码.

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

私钥文件永远不应公开发布,但可以发布给您希望有权访问此用户@ machine的任何人.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...