2

ssh с аутентификацией на основе ключей в первый раз завершается ошибкой, переходя к аутентификации на основе пароля. Однако, если пользователь вошел в систему (через ssh или непосредственно в терминале виртуальной машины), то аутентификация на основе ключей работает.

В сети есть ряд предложенных решений, но пока ни одно из них не сработало.

Попытался получить файл /etc /ssh /sshd_config с другого сервера, на котором я могу войти в первый раз (т.е. такой проблемы нет). Но на упомянутой ВМ эта проблема продолжается.

Машина является виртуальной машиной Ubuntu 14.x, работающей в Virtual Box.

Посмотрели эти похожие посты, но они не сработали:

Что может означать «Роуминг, запрещенный сервером» ssh-клиента? - установка HostbasedAuthentication на да не работает. установка UseRoaming любого значения приводила к тому, что сервер ssh не мог перезапуститься.

Другие посты предлагали установить разрешения для ~/.ssh равными 700 и ~/.ssh/authorized_keys равными 600 - это тоже не имеет никакого значения.

Странно то, что аутентификация на основе ключей работает, когда пользователь уже вошел в систему. С другой стороны, если пользователь выходит из всех сеансов и пытается войти снова, появляется запрос пароля.

Спасибо за ваши мысли!

1 ответ1

0

Таким образом, проблема в том, что ваш домашний каталог зашифрован и автоматически блокируется снова, когда вы полностью выходите из системы.

И если домашний каталог зашифрован, ~/.ssh/authorized_keys также зашифрован, поэтому sshd не может определить, какие ключи разрешены.

Вам нужно будет указать другой AuthorizedKeysFile в вашем sshd_config или отключить ecryptfs.

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