Отказано в доступе (publickey) при попытке ssh в Ubuntu с использованием LXC 3.x - PullRequest
0 голосов
/ 22 октября 2018

У меня VirtualBox Linux 4.15.0-36-generic # 39-Ubuntu SMP Пн 24 сентября 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU / Linux.

Я установил LXD 3.xконтейнеры linux Я развернул три экземпляра контейнеров типа Ubuntu на них:

+------+---------+----------------------+
| NAME |  STATE  |         IPV4         |
+------+---------+----------------------+
| db1  | RUNNING | 10.81.188.179 (eth0) |
+------+---------+----------------------+
| web1 | RUNNING | 10.81.188.27 (eth0)  |
+------+---------+----------------------+
| web2 | RUNNING | 10.81.188.7 (eth0)   |
+------+---------+----------------------+

При попытке установить ssh-соединение с сервером db1.Я выполнил следующую настройку env хоста:

Я запустил ssh-keygen, что привело к следующему:

~/.ssh/id_rsa
~/.ssh/id_rsa.pub

Я подключился к экземпляру 'db1', какthis:

sudo lxc exec db1 /bin/bash

Затем я переместился в поле db1 к файлу /etc/ssh/sshd_config, установил параметр PasswordAuthentication yes и перезапустил экземпляр lxc

Назад.на хост-узле я попытался скопировать / установить открытый ключ на удаленном гостевом узле с помощью следующей команды:

ssh-copy-id -i ~/id_rsa.pub james@10.81.188.179, and
ssh-copy-id -i ~/id_rsa.pub 10.81.188.179

... оба неудачных.Вот журнал:

james@james-virtualbox:~/.ssh$ ssh-copy-id -i ~/.ssh/id_rsa.pub james@10.81.188.179
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/james/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
james@10.81.188.179: Permission denied (publickey).

Почему он не добавляет этот ключ на удаленный компьютер db1 ...?!

1 Ответ

0 голосов
/ 12 ноября 2018

Вот что я сделал, чтобы решить ее самостоятельно:

1) (Host). Вход в гостевой экземпляр db1:

sudo lxc exec db1 /bash/bin

2) (Гость). Добавление нового удаленногопользователь 'james'

adduser james

3) (Гость) Редактировать файл / etc / ssh / sshd_config

PasswordAuthentication yes

4) (Гость) Перезапустить демон sshd

systemctl restart sshd

5) (Host) ssh на гостевой машине с использованием userid / pwd

ssh james@guest_ip

*** На данный момент у меня было работающее ssh-решение userid / password, но я хотел продвинуться вперед по сравнению с userid/ пароль для решения аутентификации с открытым ключом, поэтому я сделал следующее:

6) (Host) Скопируйте открытый ключ на гостевую машину

ssh-copy-id guest_ip

7) (Host) connectснова на гостевой компьютер:

sudo lxc exec db1 /bash/bin

8) (Гость) Удалите пароль аутентификации.Отредактируйте файл / etc / ssh / sshd_config

PasswordAuthentication no
systemctl restart sshd

9) (Host) ssh в гостевой системе, используя PKI

ssh gest_ip

*** Success

...