sshd 匹配用户配置不起作用

sshd 匹配用户配置不起作用

在服务器上我只有 ssh 身份验证,但对于一个用户,我需要添加一个特定的文件夹和基于密码的身份验证。所以我创建了一个用户

sudo adduser myuser

然后在/etc/ssh/sshd_config文件中我添加:

Match User myuser
    PasswordAuthentication yes
    RSAAuthentication no
    PubkeyAuthentication no
Match all
    PasswordAuthentication no

然后重启服务service sshd restart

但我仍然收到错误:

权限被拒绝(公钥,密码)。

系统:FreeBSD 10.1-RELEASE(通用)

答案1

首先,需要将用户添加到文件底部的 AllowUsers 中。我确信您已经在尝试 ssh 进入的机器上创建了 myuser 并设置了密码。

AllowUsers myuser

如果不存在,那么您需要将其添加到文件的最末尾。

删除“match myuser”和“match all”部分,并暂时将密码验证设置为是,将公钥验证设置为否,然后在您尝试连接的计算机上重新启动 sshd 服务。

您需要先创建公钥,然后使用您连接的计算机上的 ssh-copy-id 命令将其复制到文件夹中。以“myuser”身份登录您尝试连接的计算机,然后运行以下命令:

ssh-keygen -t rsa

它会要求您输入并确认密钥的密码,然后告诉您密钥的保存位置,显示指纹,然后显示随机艺术图像。

以下命令将公钥复制到您尝试连接的计算机。它将提示您输入 myuser 的密码。

ssh-copy-id -i ~/.ssh/id_rsa.pub myuser@host

如果您使用 22 以外的端口,请使用以下命令:

ssh-copy-id -p #portnumber -i ~/.ssh/id_rsa.pub myuser@host

完成这些操作后,您可以在尝试连接的计算机上将密码验证设置为否,将公钥验证设置为是,然后再次重新启动 ssh 服务。尝试以 myuser 身份连接,系统会提示您输入您创建的密码短语,然后使用公钥验证进行连接。

相关内容