Могу ли я разблокировать нового пользователя в SSH без установки пароля?

Я следую этим шагам при настройке пользователя:

$ sudo useradd periscope -m -s /bin/false
$ sudo su -s /bin/bash periscope
$ mkdir ~/.ssh
$ # public key gets manually input here
$ cat - >> ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ chmod go-w ~/ ~/.ssh

Теперь, когда я пытаюсь войти в систему этого пользователя, я сталкиваюсь со следующей ошибкой в /var/log/auth.log:

Jun 13 18:50:21 ip-172-31-27-167 sshd[12811]: User periscope not allowed because account is locked
Jun 13 18:50:21 ip-172-31-27-167 sshd[12811]: input_userauth_request: invalid user periscope [preauth]

а также /etc/shadow показывает:

periscope:!:17331:0:99999:7:::

что в соответствии с https://en.wikipedia.org/wiki/Passwd означает, что пользователь заблокирован по паролю (хорошо), но может быть авторизован для входа по SSH, что я и хочу. auth.log не согласен однако.

Я исправил это раньше, установив случайный пароль для этого пользователя, тогда ssh будет работать. Не похоже на правильное решение, хотя я не включаю (или, может быть, нет, так как он отключен в sshd?) метод входа меня не интересует.

Другой вариант, который люди предложили, это использовать sudo passwd -u periscope вместо этого, но потом я получаю следующую ошибку:

passwd: unlocking the password would result in a passwordless account.
You should set a password with usermod -p to unlock the password of this account.

Является ли установка пароля для пользователя неизбежной, хотя я никогда не собираюсь его использовать?

0 ответов

Другие вопросы по тегам