Digital Ocean SSH из одной капли во вторую каплю

Digital Ocean SSH из одной капли во вторую каплю

Я пытаюсь подключиться по SSH с одного сервера Digital Ocean ко второму серверу.

Вот моя установка:

Настройка и конфигурирование

  • Droplet 1: MyTest (Ubuntu 16.04 512 МБ ОЗУ)
  • Droplet 2: RemoteHost (Ubuntu 16.04 512 МБ ОЗУ)
  • Локальная система (Windows 7 с Putty, PuttyGen)

На основе инструкций в видеоздесь, я использовал PuttyGen для генерации пары открытого и закрытого ключей в моей локальной системе (Windows 7). Я не сохранил открытый ключ. Я сохранил закрытый ключ в моей локальной системе (Windows 7). Я добавил открытый ключ в дроплет MyTest. Теперь я могу использовать Putty для ssh-подключения из моей локальной системы (Windows 7) в MyTest без пароля, как показано в видео.

Проблема

Теперь я хотел бы подключиться по SSH из сервера MyTest к серверу RemoteHost.

Шаг 1.

Я создал дроплет RemoteHost и прикрепил тот же открытый ключ, что и для MyTest. Таким образом, оба дроплета MyTest и RemoteHost имеют один и тот же открытый ключ.

Шаг 2.

С моего локального компьютера (Winsows 7) я использовал PuTTy для SSH-подключения к серверу MyTest.

Шаг 3.

Затем (из командной строки дроплета MyTest) я попытался подключиться по SSH к дроплету RemoteHost с помощью следующей команды:

root@MyTest:~# ssh [email protected]

После этого я получаю следующее сообщение об ошибке

root@MyTest:~# ssh root@xxx
The authenticity of host 'xxx (xxx)' can't be established.
ECDSA key fingerprint is SHA256:yyy.
Are you sure you want to continue connecting (yes/no)?

введите описание изображения здесь Я также показываю ошибку на скриншоте выше.

Вопрос:

Возможно ли подключиться по SSH из одного сервера Digital Ocean к другому серверу Digital Ocean?

решение1

Да, но вам нужно разместить копию вашего закрытого ключа на MyTest. Клиент SSH на MyTest не может прочитать ваш закрытый ключ на вашем ПК.

При этом вам действительно следует использовать другую пару ключей для подключения из MyTest в RemoteHost, поскольку закрытый ключ, который вы поместили в MyTest, может быть скопирован любым, у кого есть доступ к этой системе (людьми, с которыми вы делите сервер, возможно, сотрудниками DO...) и использован для доступа к другим системам, к которым вы получаете доступ с помощью этого ключа. Поэтому на MyTest сгенерируйте вторую пару ключей и скопируйте ее открытый ключ в RemoteHost (который будет иметь два открытых ключа: один из пары вашего ПК и один из пары MyTest). Затем вы можете подключиться к RemoteHost напрямую со своего ПК (используя ваш локальный закрытый ключ) или из MyTest (используя закрытый ключ MyTest).

решение2

Ответ от @xenoid сработал! Я решил использовать другую пару открытого и закрытого ключей для подключенияМойТесткУдаленный узел.

Вот что мне пришлось сделать (ручной подход с использованием этих источников -здесьи шаг 4 изздесь) следовать предложению @xenoid:

На 1-й капле (MyTest)

1.

root@MyTest:~# ssh-keygen -t rsa -N '' -f keyfilename.rsa
root@MyTest:~# cat ~/keyfilename.rsa.pub

Первая строкагенерирует пару ключей без пароля. Во второй строке отображается содержимое файла ПУБЛИЧНОГО ключа.

2. Выделите все символы в файле ПУБЛИЧНОГО ключа (используя курсор мыши) и нажмите Ctrl+ C, чтобы скопировать ПУБЛИЧНЫЙ ключ.

3.

root@MyTest:~# exit

На 2-м дроплете (RemoteHost)

1.

root@RemoteHost:~# chmod 700 ~/.ssh
root@RemoteHost:~# chmod 600 ~/.ssh/authorized_keys
root@RemoteHost:~# nano ~/.ssh/authorized_keys

Этот файл уже содержит ПУБЛИЧНЫЙ ключ пары «публичный-закрытый», сгенерированный на моем локальном компьютере и добавленный в дроплет при его создании.

2. Используйтенано редактордля вставки PUBLIC ключа. Нажмите, Enterчтобы начать новую строку в этом файле

3. Нажмите Ctrl+ V, чтобы вставить ЧАСТНЫЙ ключ.

4. Нажмите Ctrl+ X, y, Enterчтобы сохранить и выйти с тем же именем файла.

5.

root@RemoteHost:~# exit

На клиенте Ubuntu (AnsibleFlex)

1.

root@MyTest:~# ssh [email protected] -i ~/keyfilename.rsa

где 123.456.789.10находится публичный IP-адресУдаленный узел. Это открывает приглашение SSH в /rootкаталоге наУдаленный узел, как требуется.

Спасибо @xenoid!

Связанный контент