Попытка подключиться к удаленному серверу по SSH с виртуальной машины Ubuntu

Два комментария. Во-первых, попробуйте монтировать по Label или UUID вместо устройства. Имена устройств иногда могут меняться.

Иначе, btrfs требует вызова brtfs device scan, прежде чем узнает о btrfs файловых системах на вашей машине. Я ожидал, что arch справится с этим, но почему-то это не работало, пока я не создал служебный файл для этого и не поместил его в /etc/systemd/system/local-fs-pre.target.wants/btrfs-dev-scan.service:

[Unit]
Description=Btrfs scan devices
Before=local-fs-pre.target
DefaultDependencies=false

[Service]
Type=oneshot
ExecStart=/usr/bin/btrfs device scan

[Install]
WantedBy=local-fs-pre.target

DefaultDependencies=false необходимо, иначе это испортит загрузку. (У не-архивных пользователей btrfs может быть расположен в /sbin вместо /usr/bin)

Это то, что должно обрабатываться btrfs хуком (я понял это немного позже), но все же, возможно, с этим есть проблема.

Однако у вас может быть какая-то другая проблема. Это Dependency failed предполагает, что какая-то ранее требуемая служба не запустилась. Я понятия не имею, что это может быть, вам следует проверить journalctl -b и поискать жалобы на зависимость, обычно там указано, чего именно не хватает. Или, по крайней мере, вы получите цепочку зависимостей, которые не сработали - возможно, что сбои зависимостей распространяются...

Вы также можете сгенерировать systemd-analyze plot > boot.svg и проверить последовательность, что именно загрузилось в каком порядке. Из этого можно догадаться, что именно пошло не так - кто кого ждал? И, что говорит systemctl --failed?

1
25.04.2019, 22:09
1 ответ

Если вы хотите настроить аутентификацию на основе ключа на удаленном сервере, вам необходимо добавить на него свой ключ.

Вы можете сделать это, используя ssh-copy-id, который доступен в большинстве дистрибутивов со следующим синтаксисом:

ssh-copy-id remote_user@remote_server

Примечание. :Вам нужно знать пароль пользователя remote_user, чтобы завершить это.

Затем он найдет ваш файл id_rsa.pubи добавит его в файл authorized_keysудаленного сервера.

Если вы сохранили свой ключ не в id_rsa.pub, вы можете указать это местоположение, используя:

ssh-copy-id -i /path/to/custom_key.pub remote_user@remote_server

В противном случае вы можете войти в remote_serverс помощью других средств (пароль логин )и вручную добавить содержимое вашего открытого ключа в файл authorized_keys.

Этот файл находится в ~/.ssh/authorized_keys.

Вы можете использовать следующую команду, чтобы выполнить это снова с вашего ubuntu vm (, если у вас есть пароль remote_user:

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

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

В случае с Digital Ocean вы должны следовать инструкциям здесь .

2
27.01.2020, 23:30

Теги

Похожие вопросы