3 votes

Comment ai-je pu me connecter à un autre serveur sans ma clé privée ?

Je viens de vivre un moment très angoissant, qui m'a amené à m'interroger sur la sécurité de ma clé SSH privée.

Voici ce qui s'est passé :

  1. Je me suis connecté à mon serveur en utilisant ma clé SSH.
  2. J'ai donné l'entrée de ma clé publique dans .ssh/authorized_keys à mon ami.
  3. Il l'a placé dans son authorized_keys pour un nouveau compte qu'il a créé pour que je puisse m'y connecter.
  4. Je me suis connecté de mon serveur à son serveur en utilisant ma clé SSH.

Ce qui n'est pas logique ici, c'est comment j'ai réussi à utiliser ma clé SSH pour me connecter à son serveur. de mon serveur . Mon serveur n'a pas ma clé privée. Comment ai-je pu m'y connecter ? Ma clé privée pourrait-elle se trouver quelque part sur mon serveur alors que je ne l'y ai jamais placée ?

Contenu de authorized_keys sur les deux serveurs :

ssh-rsa AAAAB3NzaC1yc2EAAAAD[more characters]FdQCw== robo@robo-ubuntu

Quelques informations supplémentaires :

robo@other-server:~$ ssh robo@localhost
robo@localhost's password: 
Login Success. [More default login info]
robo@other-server:~$

Mon serveur fonctionne sur un port SSH qui n'est pas celui par défaut.

robo@my-server:~$ ssh -p [port number] robo@localhost
Login Success. [More default login info]
robo@my-server:~$ ls .ssh
authorized_keys  known_hosts
robo@my-server:~$ ssh -p [port number] robo@localhost
robo@localhost's password:
Login Success. [More default login info]
robo@my-server:~$ 

Remarquez que le fait d'entrer en SSH deux fois sur l'hôte local ne permet pas de se connecter automatiquement.

Il semblerait donc que ma clé soit transférée ? Voici ce que ma configuration semble dire à ce sujet :

robo@my-server:~$ cd /etc/ssh/; grep -iR "forward"
sshd_config:X11Forwarding yes
ssh_config:#   ForwardAgent no
ssh_config:#   ForwardX11 no
ssh_config:#   ForwardX11Trusted yes
robo@roboserver:/etc/ssh$

Je vois deux "Forward" différents, ce qui pourrait être le cas. Cependant, cela semble indiquer qu'il ne transmet pas l'authentification.

1voto

aashish Points 75

Votre client de bureau utilise un agent SSH. Vous pouvez facilement vérifier si votre connexion a un agent en cours d'exécution et, le cas échéant, s'il est rempli avec vos clés ssh en tapant ce qui suit sur la ligne de commande :

ssh-add -L

Une autre possibilité serait d'utiliser le fichier d'identité prédéfini tel que défini par le paramètre 'IdentityFile' dans votre fichier de configuration ssh global /etc/ssh/ssh_config ou dans votre fichier de configuration ssh local ~/.ssh/config.

Pour savoir quelle clé a été utilisée, il faut utiliser une sortie ssh plus verbeuse :

ssh -vv user@host

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