web-dev-qa-db-fra.com

Comment écrire un script ssh-keygen sans mot de passe

Je dois générer des images vagabondes configurées en tant que types maître/esclave. Les esclaves doivent avoir un accès SSH au nœud maître et il y aura des dizaines de milliers d'instances d'esclaves.

Vagrant approvisionnant les approvisionneurs en Puppet et en Chef, j'ai donc utilisé Puppet, qui flotte déjà dans l'infrastructure, il devrait donc être plus facile à gérer ici.

J'effectue les opérations suivantes pour générer des clés SSH sur le nœud qui génère les instances qui deviendront mes images, comme suit:

ssh-keygen -t rsa -N "" -f keys/id_rsa_medusa

Malheureusement, cela semble générer des clés SSH qui nécessitent toujours un mot de passe. Je génère également ces clés sur un hôte Ubuntu et utilise des marionnettes pour les insérer dans les instances vagabondes, ce qui ne semble pas fonctionner.

Qu'est-ce qu'un 1 liner ou script que je peux utiliser qui va générer une clé ssh avec une phrase secrète vide?

Remarque:

Cela ne fonctionne pas,

echo -e '\n \n' | ssh-keygen -t rsa -f keys/id_rsa_medusa

PRIME:

ssh-keygen crée des clés avec l'identité de l'hôte de base. Généralement, vous généreriez ces informations à partir de l'hôte à partir duquel vous essayez de ssh et de l'identifiant de copie ssh vers l'hôte auquel vous essayez de vous connecter. Dans ce scénario, l'ID hôte de la machine générant les clés n'est ni l'hôte. Comment générer des clés génériques permettant à tout hôte d'accéder à l'hôte du serveur?

Comme il s'agit d'un vagabond (marionnette sans tête), je suis incapable de copier des clés entre des instances car, d'une manière ou d'une autre, ils ont tous deux la même adresse IP lorsque je me connecte à eux. J'ai essayé de générer des clés sur l'hôte de base, puis d'utiliser les éléments suivants pour convertir au format PEM, mais cela ne fonctionne pas non plus:

ssh-keygen -f keys/id_rsa_medusa -e -m pem > keys/id_rsa_medusa.pem

Merci.

1
spyderdyne

Cela fonctionne pour moi:

ssh-keygen -t rsa -N '' -f foo.rsa

Changez le nom du fichier comme vous le souhaitez. Notez l'utilisation de 'au lieu de "

Vous ne savez pas ce que vous entendez par le second bit ... La clé générée n'est-elle pas déjà PEM?

$ ssh-keygen -t rsa -N '' -f foo.rsa
Generating public/private rsa key pair.
Your identification has been saved in foo.rsa.
Your public key has been saved in foo.rsa.pub.
The key fingerprint is:
56:45:5d:54:a6:11:86:63:20:c9:b7:f3:b8:ba:c0:11 ssta@debianscratch
The key's randomart image is:
+---[RSA 2048]----+
|       ....ooo++*|
|        o...+..+ |
|      E  ..o ..  |
|       . .o      |
|      . S  +     |
|     . o  . .    |
|      o    .     |
|       .  .      |
|        oo       |
+-----------------+
$ file foo.rsa
foo.rsa: PEM RSA private key
$ cat foo.rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEA1xfyJbRRB1DOQpHFzzxR6s9z2iPX1U2q0WSbs/G9wWq/Wb7W
GhI6kNfU15n4IIj/DsdDy6ePGWDnGREo89v72svRpMz2nnAXmcg6XSr7LGnDlFvW
X6hST35RUIuha0AD8+vxRsCfH3FFaXb7Ns1lAgMI7eJ+2FSjY5pLrTFsoPyHD9Vn
CLeGhEkpCqs0KsPgEkzQmdJdzeeEDbnjy3QEWR7OiH91e6uV7Mp5oA39zDXw1Gog
d8+m7r89CAwRRqm/q9v9c27UflB65mrx87OIVfeZhj/cLlWGynSn/tBbgNkKifn8
PmqJKi4xvuN5U1+wgUBi2I9VVVga9JXutUGzAQIDAQABAoIBAQCAAH8ZExK5cMwe
b5OxPSteunAuW/BAvwStsdq7HlyXcwhGxzuwrjJuKhM+7yDrc7udttXQp3mQV8uP
blfZr4tU7MBo+5S0Ou7AlJivAzoQdyxt6K1NpeS96+VGMqIwKhtwGHQwb8cCNi1h
ku3y8g5vQREaSBTGdq/5QURR4DzOHAHgwxjGGFwB9dFPal0APrahqybaGXF7ir3M
JQlg3CdX7K7xN009V8dL5rN4q3CrrU1yUYcKK6EdkQEcy2a8MtY96VZAVx/Bcpab
rwK7mdG95GGJMVQ4RlLAdQ7GIn1XBhFxkMP3wHThdsWqD/QLgYK/97IDzN0UaLb9
bSsTrX61AoGBAPvxSglrwVe5l92RYhX43QsCeRw0Vs9/FIcJGEO7+MWZt8v3wBRg
B331mvGr0iudssKVr25Q9NxQGhd72MD1d8aGBBZr5JUIxKCmKCfig6/J/vs6LqJg
XWoiN/YZ1/jXJKU8UCbLHvlYAxUb+0DgPZWRnMIG2WKR3bJnNLwY6AZTAoGBANqO
vD5oLHI24xSatGp1ENRCLipXlArHps+TpBBHNllFonk8RlMCzzvx0P6uF5DxJXkd
olQG5aPJQ5G/tfjQ5I4oSAbJsuDFSg4oJcLIodHd16G7nZzN7swr8ZUQeWqF7AdP
a9IgKP+f/vfznPo4exc+eBb5Ktbxn7whQex+7U7bAoGAMiAkmdE9i2WaiHO3byWv
XNRmIi1rpCblf6RYlolcinv17HfjWGpusyndZP3Jd/INMde0Kp+ix/6L4mY6jtGH
vhDF2Wwn81rmPAwy6xSPHLd0qqk9xAKmM0qRlb44kQLFALcKP12kUPmoy1dg2tyC
hDKPXK8eKxVYZXlRLadK6o8CgYBN8wZ0g5cGjUjkOmEKbwI3kfsBIwcr6RU3h4LG
Q3/AyzMtZi/2v1PGH3LYwqKpETi6P7V7npIcnlW5D9UJDwfVI8y8jwd7XyIQdoUx
OXltbl/P0ShfmpsGus2Iyr1jHqyV1t+vq8Szlw7KxFpCbA6Ktb8DAo8i5j6ATKRE
guiEbQKBgQDPRmBq4i2/X7C4gNSPI2DeSJMieQZpvbeUV2L0oKZxWWqC08plvyJQ
aUrdKPF9MEMK0B4PBq0A6IMAs+BRBjAiP6dNxmBkIK3ZxNuX9Hqswy7gQ+cIppcn
cA7sKLeSlI0bmJDQ6UQEJqDiL1ZoXyLaE/ckwgneR2U+VIfCpuKDKw==
-----END RSA PRIVATE KEY-----
4
ssta