Linux中的身份验证

Linux中的身份验证

我想允许特定用户无需任何身份验证即可登录,但无需使用任何用户名、数字签名或密钥。

我在 ssh 中使用了 Match 命令,但没有发生任何事情

答案1

我不确定您是否可以在没有用户名的情况下登录设备。您不必拥有与用户名关联的密码,但我很确定 Linux 在通过 SSH 连接时需要用户名。

例如,您可以让 root 用户名没有密码,只需使用以下命令登录:

ssh root@{hostname/IP address}

然后,这应该将用户转储到 root 的主目录中,而无需密码。

为了不更改 root 用户,一个简单的方法可能是:

使用已知的 sudo 用户名和密码(例如 root)登录设备:

ssh su-user@{hostname/IP address}

创建新用户(如果需要):

adduser <username>

然后,这将要求您输入新用户的密码,您可以将其留空。确认弱密码警告,并且应该创建一个没有密码的新用户。

您可能还需要创建新的用户主目录(/home/“用户名”),因为某些配置(例如繁忙的盒子)可能不会自动创建此目录。还可以通过更改 /etc/passwd 文件中的相关行来更改用户主目录的位置。

该行应如下所示:

<username>:x:uuuu:gggg:Description:/path/to/home/dir:/shell/used

在哪里:

  • x = 用户密码(只是一个 x)
  • uuuu = 用户 ID(将为整数)
  • gggg = 组 ID(也是整数)

最后两个是用户主目录的路径(如果需要,可以更改它),以及该用户要使用的 shell 程序的路径。

您现在应该能够使用该用户名登录设备(如上所述),并且不会提示您输入密码。

应考虑缺少密码所带来的安全风险,但如果它不是安全关键的,那么这应该没问题。

相关内容