1

Когда я пытаюсь подключиться к другой машине, после этой команды ниже:

user1@host1:~$ ssh user2@host2
user2@host2's password: 

Я получил:

WARNING: Your password has expired.
You must change your password now and login again!
passwd: must be suid to work properly
Connection to host2 closed.
user1@host1:~$ 
  • host1 - машина с ОС Ubuntu

  • host2 - компьютер с операционной системой Buildroot

Очевидно, я изменил свой пароль, но это не помогло.

Что случилось? Как я могу это исправить?

3 ответа3

2

РЕШЕНИЕ:

Источником проблемы является дата на моей плате ARM. По этой причине срок действия пароля истек.

Чтобы установить правильную дату, используйте:

# date -s '[current date]'

команда на плате ARM, и:

# hwclock -w

сохранить настройки даты на оборудовании.

0

Если у вас есть физический доступ к ящику, вы можете исправить его как root, без - вероятно, нет, если у вас нет другой учетной записи пользователя в ящике, которая не требует принудительной смены пароля и которая может sudo или su для root

0

Кажется, у вас есть несколько проблем в вашем RootFS.

  • Ваш исполняемый файл "passwd" не похож на suid root
  • Ваша пользовательская настройка кажется отключенной.

В этом состоянии я не думаю, что вы можете исправить это через SSH. Есть ли у вас доступ к любой форме консоли (например, к последовательной)?

Как вы создали (или где получили) свой RootFS?

Если у вас есть доступ к консоли, попробуйте:

  • войти напрямую как root
  • "пароль пользователя"
  • Введите новый пароль
  • попробуйте снова через SSH
  • исправить /usr /bin /passwd разрешения (подробности в зависимости от использования busybox или нет)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .