Как настроить открытый ключ ssh для другой машины без доступа?

Это может быть глупый вопрос, но я все равно должен его задать:
Я уже настроил открытый ключ ssh для моей клиентской машины A. Я скопировал открытый ключ на удаленный сервер, все работает отлично, я могу войти с машины A.

Теперь я хочу получить доступ к этому серверу с другой машины и, следуя лучшим практикам, я хочу сгенерировать другой ключ для клиентской машины B, а не использовать ключ с машины A снова. Конечно, я могу сгенерировать пару ключей, но я не могу скопировать этот новый открытый ключ на сервер, потому что клиентская машина B не имеет доступа к серверу, только A имеет.

Единственным решением, которое я вижу на данный момент, кажется передача нового открытого ключа на USB-накопителе на клиентскую машину A и копирование его на сервер оттуда, но это кажется немного утомительным и не очень практичным, когда n машин расположены довольно далеко друг от друга.

Как правильно это сделать?

Клиент и сервер работают под управлением Linux.

0
задан 4 August 2021 в 08:32
3 ответа

Не уверен, что это правильный подход, вам все равно нужно каким-то образом получить доступ к серверу, и, поскольку машина A пока является единственной точкой доступа, вам все равно нужно получить ее физически хотя бы один раз. как и другие n машин. Итак, почему бы не собрать все публичные ключи на флешку и не переместить ее на машину А, чтобы распространить на домашние .ssh конфигурационные каталоги пользователей сервера?

Без флешки тоже есть некоторые варианты.

Вар №1. Временно разрешите вход по паролю на сервер с машины A. Сгенерируйте пары ключей и скопируйте публичные ключи на сервер с машин B, C, D и т. д. обычным способом. Отключите вход на сервер по паролю.

Вар №2.Если даже вход с временным паролем считается недостатком безопасности, создайте на сервере временного пользователя, у которого нет доступа только к своему домашнему каталогу, разрешите вход с паролем только для этого пользователя. Создайте пары ключей и скопируйте публичные ключи на сервер с машин B, C, D и т. д. в домашний каталог этого пользователя. Pubkey не является конфиденциальным, и его потенциальный захват считается безопасной ситуацией, однако его спуфинг — нет, поэтому вы можете подумать о том, чтобы как-то зашифровать или подписать его (gpg). Войдите на сервер с машины A, распространите pubkey среди пользователей сервера, отключите используемого временного пользователя.

Вар №3. Если перезагрузка сервера ssh невозможна, вы можете сделать машину A временным сервером ssh и использовать ее в качестве промежуточной станции для копирования открытых ключей ssh ​​на реальный сервер.

Вар №4. Используйте другой канал связи (другой удаленный сервер, может быть даже публичный, электронная почта и т.п.). Еще раз, pubkey не является конфиденциальным, но обязательно подпишите их, чтобы защитить от спуфинга.

0
ответ дан 4 August 2021 в 10:15

Ну, вам ПРИДЕТСЯ передать открытый ключ на удаленный сервер каким-то образом.

Однако, поскольку открытый ключ не является конфиденциальным (отсюда и название), не стесняйтесь копировать его на USB-накопитель, загружать куда-либо, помещать в заметку и т. д.

Просто убедитесь, что ключ, который вы добавить на сервер действительно тот, который вы загрузили из своего клиента!

1
ответ дан 4 August 2021 в 09:24

Обычно я перемещаю ключи ssh с помощью копирования и вставки. но вы также можете отправить их по электронной почте, http, netcat и т. д., это просто текст.

Если вы можете получить открытый ключ для машины C на машине B, вы можете затем использовать ssh с B на A и установить ключ для C

1
ответ дан 4 August 2021 в 10:52

Теги

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