На этот вопрос уже есть ответ:
Я использую ssh для удаленного доступа к моему рабочему столу Ubuntu.
Я настроил его для использования аутентификации на основе ключей и отключил использование пароля для входа в систему.
Я также настроил iptables, чтобы разрешить только ssh из моей внутренней сети и IP-адрес из моей работы, и отказался от всего остального, чтобы добавить безопасность.
В любом случае, я могу получить доступ только в том случае, если я уже вошел в систему. Если я удален и перезагружусь по какой-либо причине, я получаю сообщение pubkey об отказе в разрешении, и оно отказывается впускать меня.
Для пинок, Я использовал командную программу просмотра, чтобы войти в свою машину. После того, как я вошел в систему через командную программу просмотра, я снова смог войти в нее по ssh.
Есть ли параметр, который я, возможно, забыл проверить при редактировании файла sshd_config?
Мой домашний каталог зашифрован, если это имеет значение. Возможно, в этом виноват.
Изначально я все настроил 16.04, но недавно обновился до 17.04. Я оставил все конфигурации без изменений во время обновления.
Это - потому что ssh демон не может получить доступ в Ваш authorized_keys файл.
Изменение USERNAME
к Вашему имени пользователя.
sudo mkdir /etc/ssh/USERNAME
Копия Ваш ключ
sudo cp /home/USERNAME/.ssh/authorized_keys /etc/ssh/USERNAME
Собственный это
sudo chown -Rf USERNAME.USERNAME /etc/ssh/USERNAME
sudo chmod 644 /etc/ssh/USERNAME/authorized_keys
Добавляет следующее в /etc/ssh/sshd_config
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Источник: Passwordless SSH в Зашифрованном Корневом каталоге