Сгенерировать ключ аутентификации для ssh
(1) Я использую следующие команды на компьютере A для генерации ключа аутентификации для ssh от компьютера A к компьютеру B
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub B:.ssh/authorized_keys2
(а) если вы продолжите генерировать ключ аутентификации для ssh с компьютера А на компьютер С, как вы будете это делать? это хороший способ просто использовать тот же ~/.ssh/id_rsa.pub для A до B, т.е.
scp ~/.ssh/id_rsa.pub C:.ssh/authorized_keys2
(b) если в дальнейшем генерировать ключ аутентификации для ssh от компьютера B к компьютеру D, правильно ли повторять команды от A до B на B?
ssh-keygen -t rsa
scp ~/.ssh/id_rsa.pub D:.ssh/authorized_keys2
(2) Кажется, есть другой метод для A к B:
ssh-keygen
ssh-copy-id -i ~/.ssh/id_rsa.pub B
В чем разница между (2) и (1)? Что вы будете делать, если будете использовать команды (2) в случаях (a) и (b) of (1), особенно (b)?
Спасибо и всего наилучшего!
2 ответа
Я использую метод 1 и копирую свой открытый ключ на все серверы, к которым я хочу получить доступ (используя этот ключ). Открытый ключ не позволяет идентифицировать другие места, в которые он может быть распространен, и если вы начнете использовать несколько ключей для нескольких хостов, к которым вы пытаетесь получить доступ, вы просто создадите кошмар управления для себя.
Просто убедитесь, что ваш личный ключ закрыт и защищен парольной фразой.
Если у вас есть доступ к команде 'ssh-copy-id', это хороший способ изначально настроить аутентификацию SSH. от исходного хоста. Скрипт ssh-copy-id просто берет ваш Открытый ключ, копирует его на удаленный хост, в файл ~/.ssh/authorized_keys. Это также гарантирует, что каталог ~ /.ssh существует и имеет режим, установленный на 700 (go-rwx).
Если вы собираетесь установить простую цепочку аутентификации SSH между несколькими машинами, как вы описали выше, вы можете использовать один и тот же ключ для всех машин. Простой рецепт для этого будет следующим:
Генерация 1024-битного ключа DSA (также может быть RSA, но затем 2048-битный или более)
A ~# ssh-keygen -t dsa
Раздайте открытый ключ другим 3 хостам. Здесь вам будет представлен обычный логин для пользователя @B, user@C и user@D
A ~# ssh-copy-id -i .ssh/id_dsa.pub user@B
A ~# ssh-copy-id -i .ssh/id_dsa.pub user@C
A ~# ssh-copy-id -i .ssh/id_dsa.pub user@D
После копирования идентификатора вы можете передать закрытый ключ (!) Другим хостам. Это фактически позволит вам войти на хост A напрямую из B или из D в C и т. Д., Так как все они используют один и тот же ключ и имеют одинаковые авторизованные ключи.
A ~# scp -p .ssh/id_dsa user@B:~/.ssh/
A ~# scp -p .ssh/id_dsa user@C:~/.ssh/
A ~# scp -p .ssh/id_dsa user@D:~/.ssh/
Последняя задача - переименовать открытый ключ на хосте A, чтобы на хосте A также были авторизованные ключи и он мог разрешить вход с хостов B, C и D.
A ~# mv .ssh/id_dsa.pub .ssh/authorized_keys
Теперь вы сможете перемещаться или копировать данные между всеми 4 хостами, используя один и тот же ключ, минуя вызов Login-user-password. В зависимости от погоды вы сгенерировали ключ без пароля, то есть...