Ключ авторизации 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"
Для добавления в файл авторизованные_ключи