创建附加配置文件:

创建附加配置文件:

我是 Ubuntu 20.04 服务器的管理员,我想让ssh用户通过密码登录,而不是使用密钥对。

/etc/ssh/ssh_config主机上的文件如下所示(由其<username>实际用户名替换):

Host*
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes

Match User <username>
    PubkeyAuthentication no
    PreferredAuthentications password
    PasswordAuthentication yes

尽管如此,当他尝试以以下身份登录时:

ssh \<username>@\<host>

他收到一个错误:

Permission denied (publickey)

我究竟做错了什么?

答案1

注意:您必须编辑 ssh 守护程序配置,而不是ssh.config远程计算机的配置。

我假设 ssh-server 配置为仅基于用户密钥的身份验证,并且在文件中关闭基于密码的身份验证/etc/ssh/sshd_config

创建附加配置文件:

openssh-server 的新版本允许创建/etc/ssh/sshd_config.d/*.conf文件而不是编辑“/etc/ssh/sshd_config”文件。

创建一个新文件/etc/ssh/sshd_config.d/10-password-login-for-special-user.conf

sudo nano /etc/ssh/sshd_config.d/10-password-login-for-special-user.conf 

添加以下行:

Match User <username>
    PasswordAuthentication yes

替换<username>为特殊用户的用户名。

Ctrl使用+O后跟保存文件。然后按+Enter退出编辑器。CtrlX

通过以下命令重启ssh服务:

sudo systemctl restart ssh.service

现在特殊用户将能够使用密码远程登录,而所有其他用户将继续使用基于密钥的身份验证。

参考文献:

希望这可以帮助

相关内容