1 votes

Utiliser une paire de clés SSH existante avec openSSH pour se connecter à un serveur

Mon collègue m'a fourni des fichiers de paires de clés SSH (fichiers de clé publique et de clé privée) à utiliser pour se connecter à un serveur Linux distant, qui a la clé publique dans sa base de données. authorized_keys Dossier.

J'utilise actuellement Windows 10, et j'ai le client openSSH déjà installé sur ma machine.

Je ne sais pas exactement comment SSH fonctionne, mais je veux savoir comment faire pour que mon client openSSH connaisse les clés publiques et privées que j'ai, et qu'il les utilise pour se connecter au serveur distant.

Note : mon client openSSH travaille actuellement avec une paire de clés existante. id_rsa pour me connecter à mon compte Gitlab.

2voto

porto alet Points 315

La façon la plus simple de procéder est d'utiliser le " -i "pour utiliser la clé privée qui vous a été donnée, par exemple

ssh -i /path/to/private.key user@ssh.server.name

Du point de vue de la sécurité, je m'inquiéterais du fait que votre ami vous ait fourni une clé privée - ce n'est pas une bonne pratique. La bonne méthode consiste à utiliser votre clé publique (id_rsa.pub) et à lui en donner une copie pour l'ajouter au fichier authorized_keys du serveur, tout en gardant la clé privée privée. Vous ne devez pas faire confiance à la clé privée qu'il vous a donnée pour autre chose que la connexion au serveur auquel il vous a demandé de vous connecter (et même dans ce cas, si nécessaire, vous devez mettre à jour le fichier authorized_keys pour utiliser la clé publique que vous avez générée - et une nouvelle clé pour lui, le cas échéant).

Plus de détails :

Vous placez généralement vos clés dans (home_directory)/.ssh - Selon le manuel

 -i identity_file
         Selects a file from which the identity (private key) for public key authentication is read.  The default is ~/.ssh/id_dsa, ~/.ssh/id_ecdsa, ~/.ssh/id_ecdsa_sk,
         ~/.ssh/id_ed25519, ~/.ssh/id_ed25519_sk and ~/.ssh/id_rsa.  Identity files may also be specified on a per-host basis in the configuration file.  It is possible to have multiple
         -i options (and multiple identities specified in configuration files).  If no certificates have been explicitly specified by the CertificateFile directive, ssh will also try to
         load certificate information from the filename obtained by appending -cert.pub to identity filenames.

Si vous voulez utiliser automatiquement une paire de clés spécifique à un hôte, vous pouvez utiliser la directive CertificateFile (je n'ai jamais joué avec cela) ou plus communément créer / ajouter les lignes appropriées à votre fichier ~/.ssh/config pour utiliser une clé spécifique pour un hôte - je crois que cela ressemblerait à quelque chose comme ceci :

  Host host-nick-name
        Hostname ip.addr.of.host
        User myusername
        IdentityFile /path/to/identity.file

0voto

neubert Points 5820

Normalement, sous Windows avec OpenSSH, le fichier de la clé privée doit se trouver à l'adresse suivante C:\Users\[your username]\.ssh\id_rsa (ou id_ed25519 ou id_ecdsa ou autre).

Cela dit, si vous souhaitez vous connecter à un serveur SSH sous Windows, je vous recommande PuTTY. Convertissez la clé en un ppk en utilisant puttygen et ouvrez ensuite putty.exe.

  • spécifiez le chemin des clés dans Connexion -> SSH -> Auth -> Fichier de clé privée pour l'authentification.
  • spécifier votre nom d'utilisateur dans Connexion -> Données -> Nom d'utilisateur de connexion automatique
  • spécifier votre nom d'hôte dans Session -> Nom d'hôte (ou adresse IP)
  • nommez la session dans Session -> Sessions enregistrées et cliquez sur le bouton Enregistrer.
  • une fois que tout cela est fait, cliquez sur Ouvrir

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