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