Я настраивал много виртуальных машин для различных проектов, я продолжаю работать. Вместо того, чтобы использовать ssh-keygen на каждой машине, я копировал свой id_rsa файл с одной из моих машин ко всем другим, которые я настраивал.
Таким образом, я не должен загрузить свой rsa_id.pub для каждой новой машины к моему серверу или добавить их к другим серверам, в которые я хочу к ssh.
Действительно ли эта практика является ужасной идеей? Я должен просто генерировать новый ключ для каждого VM?
SSH имеет функцию, названную "передача агента". Если это включено и если у Вас есть ssh-агент, работающий на машине A с Вашим ключом, загруженным в него, то Вы можете SSH к машине B, от B до C, от C до..., не имея необходимость копировать закрытый ключ где угодно кроме машины A.
Это работает очень хорошо, если у Вас есть своя собственная рабочая станция (A), от которого Вы соединяетесь со всеми [виртуальными] машинами.
machineA$ ssh-add
Enter passphrase for /home/grawity/.ssh/id_rsa:
Identity added: /home/grawity/.ssh/id_rsa
machineA$ ssh -A machineB
machineB$ ssh -A machineC
machineC$ ssh-add -l
4096 50:08:e7:0c:0e:7b:2b:47:88:9e:d5:11:7b:f6:ce:f5 /home/grawity/.ssh/id_rsa (RSA)
Можно активировать его постоянно путем добавления ForwardAgent=yes
под соответствующим Host
строка (Host *
для всех соединений) в ~/.ssh/config
.
id_rsa является Вашим закрытым ключом.
Вы делаете это в дополнение к добавлению id_rsa.pub ко всему из Ваш '~/.ssh/known_hosts'? Если не затем это имеет мало смысла, поскольку Вы все еще не сможете к ssh между ними без паролей.
Лично я генерировал бы отдельные ключи для каждого пользователя и хоста как требуется для поддержания мелкомодульного доступа, с помощью передачи агента для собственного администрирования.