У меня есть интересная проблема с ssh. Вот установка.
У моего клиента (под управлением Ubuntu 17.04) есть общедоступные и частные ssh ключи. Я скопировал по открытому ключу в сервер (рабочий Сервер Ubuntu 16.04.3 LTS) использование ssh-copy-id
команда. Я проверил работавший путем рассмотрения authorized_keys файла на сервере; открытый ключ моего клиента является единственным перечисленным.
Теперь на проблему. Я могу войти в сервер от клиента через ssh, с помощью моего частного ssh-ключа. Но после того, как я выхожу из системы и пытаюсь к ssh снова, я получаю следующую ошибку:
Permission denied (publickey).
Когда я вхожу в сервер в консоли, я использую свой пароль для входа в систему, и это хорошо работает. Затем, когда я пробую к SSH снова от моего клиента, он работает снова. И я могу выйти из системы и входить в систему так много раз, как я хочу. Как только я выхожу из системы от консоли на сервере (как, я физически в сервере, зарегистрированном перед этим), я могу SSH от своего клиента точно Еще раз. Затем, как только та сессия заканчивается, я добираюсь Permission denied (publickey).
ошибка снова на всех последующих попытках SSH. Какие-либо идеи?
Вот мой ssh файл конфигурации на моем клиенте:
Host sauron
HostName 192.168.1.191
User joe
PubKeyAuthentication yes
IdentityFile id_rsa
Еще одна вещь упомянуть, у меня действительно есть весь SSD на сервере зашифрованным. Я должен разблокировать его каждый раз, когда я загружаю сервер с паролем шифрования. Не уверенный, если это релевантно. Я подозреваю, что это могла быть проблема полномочий, хотя я не уверен в этом также. Предложения очень ценились бы, и спросите, нужно ли Вам разъяснение по поводу чего-нибудь.
Благодаря @muru комментируют о зашифрованных корневых каталогах, я велся к этой статье о том, как иметь дело с этим.
TLDR; из той статьи следующим образом и решил мою проблему:
Создайте каталог в /etc/ssh/
с тем же именем как зарегистрированный пользователь Вы используете. В моем случае: /etc/ssh/joe
.
Скопируйте authorized_keys
файл к этому каталогу.
Набор корректные полномочия этого файла и каталог пользователю.
Добавьте следующую строку к sshd_config файлу:
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Все зафиксированные!