我想允许特定用户无需任何身份验证即可登录,但无需使用任何用户名、数字签名或密钥。
我在 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 程序的路径。
您现在应该能够使用该用户名登录设备(如上所述),并且不会提示您输入密码。
应考虑缺少密码所带来的安全风险,但如果它不是安全关键的,那么这应该没问题。