Могу ли я разблокировать нового пользователя в 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.
Является ли установка пароля для пользователя неизбежной, хотя я никогда не собираюсь его использовать?