Supprimer par inadvertance .ssh / authorized_keys, est-ce une grave erreur?

13

Je suis nouveau pour configurer les clés SSH sur Ubuntu 16.04. Je cherchais une clé autorisée pour supprimer le nom annemais je pense que j'ai supprimé tout le authorized_keysfichier.

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

Est-ce une grave erreur? Si oui comment les régénérer? Pendant ce temps, je l'ai fait:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys
Revolucion pour Monica
la source
Comment la première rmcommande a-t-elle fini par lister le contenu du répertoire? Est-ce une erreur de copie qui devrait être ls /home/mike/.ssh/?
Barmar
3
@Barmar, c'est à quoi cela ressemble dans Bash lorsque vous appuyez sur tab pour compléter automatiquement le chemin, et il y a plusieurs choix.
ilkkachu
2
C'est le meilleur moment pour penser à la sauvegarde et à la restauration .
Rétablir Monica - M. Schröder

Réponses:

21

Le ~/.ssh/authorized_keysfichier contient une liste de clés publiques. Il permet à tous ceux qui possèdent une clé privée correspondant à l'une d'entre elles de se connecter à cette machine et d'obtenir un accès à distance sous ce compte d'utilisateur (le tilde ~à l'avant du chemin signifie que ce fichier se trouve dans le répertoire personnel de l'utilisateur actuel).

Sur le serveur (la machine que vous souhaitez vous connecter à ):

Si vous avez supprimé ce fichier, personne ne pourra s'authentifier sous ce compte utilisateur à l'aide de ses clés privées. L'authentification par mot de passe fonctionnerait toujours, sauf si elle était désactivée.

Vous devez régénérer le fichier et ajouter à nouveau toutes les clés publiques auxquelles vous souhaitez accorder l'accès à l'aide de la méthode d'authentification par clé publique.

Sur le client (la machine que vous souhaitez vous connecter à partir , par exemple votre machine locale):

Ici, vous n'avez pas besoin d'un authorized_keysfichier, car vous ne voulez probablement pas autoriser de clés et leur accorder un accès à distance à votre ordinateur local. Il doit être vide ou supprimé.

Sur le client, vous avez seulement besoin des fichiers de clé privée qui sont autorisés sur le serveur (ie qui ont leurs clés publiques correspondantes dans le authorized_keysfichier sur le serveur), et le cas échéant un accès approprié configet known_hostsfichiers.

Byte Commander
la source
Merci ! Hmm, je suis vraiment nouveau pour les clés publiques, les clés privées et l'accès à distance. Ceci est ma machine personnelle. Je pense que personne n'avait accès à distance à ma machine, je ne pense pas.
Revolucion pour Monica
Si vous ne voulez pas que quelqu'un ait accès à la machine, supprimez simplement le fichier ou laissez-le vide et vous êtes prêt à partir.
pLumo
2
D'accord, je pense que vous l'avez mal lu. Vous n'avez pas besoin du authorized_keysfichier sur la machine locale, mais sur le serveur.
pLumo
3
ssh-keygencrée id_rsaet id_rsa.pubnon authorized_keys. Et c'est sûr.
pLumo
1
Notez qu'il est assez courant de vouloir ssh d' un autre ordinateur vers votre ordinateur de bureau, et l'utilisation de clés pour s'authentifier dans ce cas est plus sécurisée.
Karl Bielefeldt
3

Oui, vous avez supprimé l'intégralité du fichier. Pour le recréer, tous les utilisateurs doivent copier leurs clés ssh sur le serveur agein. Vous pouvez utiliser

ssh-copy-id [email protected]

Si vous ne souhaitez pas supprimer toutes les clés, modifiez le fichier et supprimez uniquement les lignes la prochaine fois.

trietend
la source
Merci, c'est ma machine personnelle. Je ne suis pas sûr qu'il ait encore servi de serveur
Revolucion pour Monica
2
Sur votre client, vous avez besoin du fichier de clé privé et des hôtes connus et sur le serveur authorized_keys avec pubkeys
trietend