В настоящее время я реализую вход с парой ключей на свой сервер следующим образом:
сгенерируйте пару ключей с моего локального ноутбука:
me@macbook:~ $ ssh-keygen -t rsa
передать ключ pub с ноутбука на сервер:
me@macbook:$ scp ~/.ssh/id_rsa.pub user@myserver.com:~/id_rsa.pub
на сервере добавьте ключ pub в файл authorized_keys
$ cat id_rsa.pub >> ~/.ssh/authorized_keys
И я отключил пароль для входа в ssh.
Проблема в том, что ключ может использоваться только на моем ноутбуке для ssh на моем сервере, похоже, он привязан к моему ноутбуку Macbook. Это означает, что на другом компьютере я не смогу использовать этот закрытый ключ для ssh. В худшем случае, если я потеряю свой ноутбук, я буду заблокирован, нет возможности войти по ssh. (Исправьте меня, если я ошибаюсь, я запутался)
Как сделать закрытый ключ пригодным для использования на нескольких машинах? (как AWS ec2, я могу использовать файл .pem @ где угодно для ssh)
Спасибо.
Ниже приводится содержимое файла authorized_keys
Закрытые ключи связаны с открытыми ключами. Если вы хотите использовать закрытый ключ с другого компьютера - просто скопируйте его на этот другой компьютер. Он не привязан к машине, @macbookpro в конце - это просто строка комментария, вы можете изменить ее на что угодно.
т.е. у вас есть ~/.ssh/id_rsa
который является вашим закрытым ключом. Если вы хотите использовать его с другого компьютера, вы копируете его на этот компьютер.
Вы должны передавать закрытые ключи только на машины, которые вы контролируете и которым доверяете, и вы всегда должны защищать их сложной ключевой фразой.