Alpine 上 OpenSSH 默认允许的身份验证方法

Alpine 上 OpenSSH 默认允许的身份验证方法

我正在尝试使用 Docker 的 Alpine Linux 映像和 OpenSSH。sshd_configalpine 附带的文件默认将所有内容都注释掉。我只是取消评论Port 22。我认为这是最安全的配置(但希望得到一些关于此假设是否正确的反馈)。

然后,我运行ssh-keygen -q生成用户密钥(对于 root)并ssh-keygen -A生成主机密钥。然后我cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys就可以使用密钥登录。

当我从主机登录时,ssh localhost系统会提示我接受主机密钥,然后我就会进入。所以一切似乎都工作正常。但是,如果我尝试从 docker conatainter / 主机外部进行连接,则会提示输入密码。这应该发生吗?我的假设是,由于我只配置了Port参数,其他所有内容都将被关闭,包括密码身份验证。

答案1

但是,如果我尝试从 docker conatainter / 主机外部进行连接,则会提示输入密码。这应该发生吗?我的假设是,由于我只配置了端口参数,其他所有内容都将被关闭,包括密码身份验证。

是的。默认情况下,密码身份验证处于启用状态,因为它有时是访问新安装的服务器的唯一方法。但您可以简单地使用ChallengeResponseAuthentication noPasswordAuthentication no在您的sshd_config.

相关内容