• VirtulBox: 6,0
  • Ведущий: Arch Linux
  • Гость: Ubuntu 16.04.5 LTS
  • SSH сервер: OpenSSH_7.2p2

Я настраиваю Port Frowarding: guest 22 -> host localhost:2022 . Метод аутентификации только "publickey".

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

  • ssh -p 2022 root@localhost -> успех
  • ssh -p 2022 user@localhost -> user@localhost: Permission denied (publickey).

Если я войду в окно виртуальной машины, ssh для пользователя будет разрешено. Но если я выйду из окна виртуальной машины, новое ssh-соединение для пользователя будет отклонено.

Как разрешить подключения для пользователя после запуска ВМ (без локального входа в окно)?

1 ответ1

0

Возможно , user домашний каталог вместе с ~/.ssh/authorized_keys зашифрован; локально зарегистрированный пользователь делает его читабельным.

В Unix & Linux SE есть такой вопрос: Невозможно выполнить вход через открытый ключ SSH в зашифрованном виде. Оттуда:

В файле ssh_config вы можете изменить местоположение вашего личного ключа. Возможно, вы могли бы сделать что-то вроде создания новой папки в /etc/ssh/keys/ и поместить туда свой файл закрытого ключа id_rsa а затем изменить опцию IdentityFile в ssh_config для поиска в новом месте. При этом вы захотите принять определенные меры для защиты вашего закрытого ключа.

Это при условии, что вы единственный пользователь компьютера. Если нет, вы можете создать такие папки, как /etc/ssh/keys/john/ и /etc/ssh/keys/dogbert/ а затем в опцию IdentityFile поставить /etc/ssh/keys/%u/id_rsa

Но также:

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

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

[...]

Ubuntu использует ecryptfs для монтирования зашифрованного раздела во время входа в систему (например, когда вы вводите свой пароль) […]. [После входа по SSH без пароля] домашняя папка не будет автоматически зашифрована. Чтобы смонтировать его в незашифрованном виде, вам нужно будет вводить его при каждом входе в систему:

/sbin/mount.ecryptfs_private

Который снова попросит вас ввести пароль для входа.

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