5 votes

Pourquoi une clé publique SSH est-elle installée sur ma nouvelle instance Ubuntu 20.04.1 avant que je puisse me connecter pour la première fois ? Suis-je victime d'un piratage ?

J'ai acheté/configuré un nouveau Raspberry Pi 4 pour exécuter Ubuntu 20.04.1 et Apache. Je fais suivre le port 80 de mon modem AT&T au Raspberry Pi et j'héberge quelques sites web sans problème.

J'ai reçu un nouveau Raspberry Pi aujourd'hui et j'ai démarré une nouvelle instance d'Ubuntu 20.04.1 pour la première fois. Ubuntu est arrivé à l'écran de connexion, et pendant que je configurais les choses sur mon ordinateur portable pour me connecter via SSH, mon Raspberry Pi a soudainement eu un gros morceau de sortie sur le terminal.

Je reconnais qu'il s'agit de quelque chose qui correspond aux clés publiques, puisque je prévois d'ajouter des le mien clé publique pour les connexions SSH. Cela m'a semblé un peu suspect, car je ne me souviens pas que cela se soit produit lorsque j'ai configuré le Raspberry Pi original. J'ai supprimé la redirection de port de mon modem pendant que je nettoyais la carte SD et que je redémarrais Ubuntu, mais le même problème s'est produit. Mon Raspberry Pi a-t-il été piraté ? Une entité externe ajoute-t-elle sa propre clé SSH à Ubuntu avant que je puisse me connecter pour la toute première fois ?

18voto

muru Points 180007

Vous pouvez utiliser cloud-init pour remplir les clés autorisées SSH. Cependant, le message indique clairement :

ci-info: no authorized SSH key fingerprints found for user ubuntu

Les empreintes digitales présentées sont celles de hôte les clés, présentées par le système aux clients.

12voto

Adam Hawes Points 221

Les clés dans votre image sont hôte les clés. Il ne s'agit pas de votre clé de connexion privée.

Si nous utilisons les termes SSL, le clé hôte est un peu comme la clé SSL de votre serveur web. C'est privé et c'est nécessaire mais c'est non recommandé pour les partager entre les hôtes afin que le premier démarrage génère sur l'hôte pour vous qui devrait être unique à l'hôte. Une clé publique correspondante est également générée en même temps et c'est l'empreinte digitale que vous voyez ici.

SSH supporte plusieurs formats de clés différents - c'est pourquoi il y a ECDSA, ED25519, RSA, DSA. Vous pouvez désactiver RSA et DSA dans le fichier /etc/ssh/ssh_config, puis supprimer ces clés si vous ne prévoyez d'utiliser que des clients SSH modernes pour y accéder.

Lors de votre première connexion au serveur SSH, celui-ci enverra la ou les clés publiques à votre client. Le client choisira la plus sûre qu'il prend en charge (et qu'il est configuré pour autoriser) parmi celles présentées. Il présentera ensuite l'empreinte digitale de la clé publique qu'il a sélectionnée. Gardez votre image à portée de main et vous pourrez vérifier que c'est bien l'empreinte digitale que votre client vous montre. Il vous est demandé de vérifier qu'il s'agit bien de l'empreinte digitale de l'hôte. L'empreinte est mise en cache dans le fichier known_hosts, de sorte que le client n'a pas besoin de vous demander confirmation la fois suivante. Il s'agit en fait de l'équivalent handraulique de la vérification par votre navigateur web du certificat émis par l'autorité de certification et de l'affichage d'un cadenas.

Ensuite, il continuera à sélectionner cette clé publique particulière pour chaque nouvelle session et testera l'empreinte digitale par rapport à son cache. Vous ne serez plus invité à le faire, sauf si l'empreinte digitale change. Vous serez invité à le faire si elle change.

Encore une fois, rien de tout cela n'a à voir avec vos clés de connexion. Personne d'autre ne peut se connecter sans votre mot de passe. Vous aurez toujours besoin de votre mot de passe pour vous connecter jusqu'à ce que vous ayez placé votre clé de connexion publique dans le fichier authorized_keys.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X