Ключ авторизации SSH для нескольких систем

Где-то я читал, что для доступа к удаленной машине через SSH нам нужно скопировать ~/.ssh/id_rsa.pub локальной машины для ~/.ssh/authorized_keys удаленной машины. Я сделал это, и я могу получить доступ к удаленной машине через SSH.

Я хочу, чтобы удаленный компьютер был доступен с нескольких серверов, например: компьютер A может получить доступ к компьютеру B, а есть другой компьютер C, который также может получить доступ к компьютеру B.

Я скопировал ~/.ssh/id_rsa.pub машины от А до ~/.ssh/authorized_keys машины B, и я могу получить доступ к машине B.

Но я также хочу получить доступ к машине B с машины C, тогда что мне делать? Я имею в виду, где я должен скопировать ~/.ssh/id_rsa.pub с машины C на машину B, чтобы я мог получить доступ к машине B с машины C?

2 ответа

Решение

authorized_keys Файл на удаленном хосте может содержать более одного открытого ключа. Просто добавьте их - убедитесь, что каждый ключ получает новую строку.

Чтобы упростить этот процесс, есть ssh-copy-id(1),

ssh-copy-id user@machine-B

Вы можете выполнить вышеуказанную команду на компьютере C. Он скопирует открытый ключ по умолчанию на компьютер B и добавит его к authorized_keys автоматически. Вы также можете указать другой открытый ключ для копирования, используя -i вариант, если хотите.


Вот ссылка в руководстве:

Пользователь создает свою пару ключей, запустив ssh-keygen(1), Это хранит закрытый ключ в […] ~/.ssh/id_rsa.pub (протокол 2 RSA) в домашнем каталоге пользователя. Затем пользователь должен скопировать открытый ключ в ~/.ssh/authorized_keys в его / ее домашнем каталоге на удаленной машине.

authorized_keys Файл […] имеет один ключ на строку, хотя строки могут быть очень длинными. После этого пользователь может войти без указания пароля.

Кроме того, вы можете запустить эту команду:

cat id_rsa.pub | ssh remote-user@remote-host "cat >>~/.ssh/authorized_keys"

Для добавления в файл авторизованные_ключи

Другие вопросы по тегам