Comment accéder à ma clé publique SSH?


611

Je viens de générer ma paire de clés RSA et je voulais ajouter cette clé à GitHub.

J'ai essayé cd id_rsa.pubet id_rsa.pub, mais pas de chance. Comment accéder à ma clé publique SSH?



3
@kenorb Vous voulez dire que Q en est un double? Cette question avait été posée deux ans plus tôt. :)
sscirrus

Oui, l'autre semble être mieux positionné (sur la base du libellé, etc.), il a plus de vues et de votes dans un délai plus court, ce qui indique qu'il est beaucoup plus populaire. Voir: Dois-je voter pour fermer une question en double, même si elle est beaucoup plus récente et a des réponses plus à jour? Une fois en double, les deux réponses peuvent être fusionnées en une seule.
kenorb

6
pbcopy < ~/.ssh/id_rsa.pubtravaillé pour moi! Consultez cet article GitHub
Connor Leech

Réponses:


1013

cat ~/.ssh/id_rsa.pub ou cat ~/.ssh/id_dsa.pub

Vous pouvez répertorier toutes les clés publiques dont vous disposez en procédant comme suit:

$ ls ~/.ssh/*.pub


9
Même si je vois le fichier à l'endroit auquel il se réfère (C: /Users/Me/.ssh/.id_rsa.pub), ces commandes génèrent une erreur: aucun fichier ou répertoire de ce type. Je fais cela depuis Git Bash, MyPC ~ / .ssh
sscirrus

2
@sscirrus: Dans Windows, vous pouvez utiliser la typecommande. Ou ouvrez simplement le fichier .pub dans le bloc-notes et collez-le dans github.
Peter Štibraný

Merci beaucoup Peter, pour la réponse et la modification. Faites-en une réponse et j'accepterai :)
sscirrus

3
@sscirrus: acceptez celui-ci ... ça marche aussi (sous unix ou cygwin)
Peter Štibraný

32
sur Mac OS X:cat ~/.ssh/id_rsa.pub
karlingen le

195

Copiez la clé dans votre presse-papiers.

$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

Attention: il est important de copier exactement la clé sans ajouter de nouvelles lignes ni d'espaces. Heureusement, la commande pbcopy facilite parfaitement cette configuration.

Et vous pouvez le coller où vous le souhaitez.

Pour avoir une meilleure idée de l'ensemble du processus, vérifiez ceci: Génération de clés SSH .


6
sudo apt-get install xclip -ypour les utilisateurs qui n'ont pas de pbcopytravail.
suarsenegger

4
sudo apt-get install -y xclipsuivi de alias pbcopy="xclip -sel clip"et puis pbcopy < ~/.ssh/id_rsa.pubOU simplementxclip -selection clipboard < ~/.ssh/id_rsa.pub
gebbissimo

47

Vous pouvez essayer d'exécuter la commande suivante pour afficher votre empreinte digitale RSA:

ssh-agent sh -c 'ssh-add; ssh-add -l'

ou clé publique:

ssh-agent sh -c 'ssh-add; ssh-add -L'

Si vous avez le message: «L'agent n'a pas d'identité.», Vous devez d'abord générer votre clé RSA ssh-keygen.


1
C'est bon lorsque vous ne connaissez pas le chemin de la clé à l'avance. Ce n'est pas toujours le cas ~/.ssh/.
rudolfbyker

Je l'ai essayé, fonctionne sur Mac, Win10 (dans git bash) et Ubuntu.
Filip Haglund

L'utilisation ssh-add -Lest de loin la meilleure option car toutes les clés SSH ne sont pas des clés RSA situées dans le ~/.sshdossier. Je préfère de loin utiliser ma clé PGP pour l'authentification et je n'ai donc pas de ~/.ssh/id_rsa.pubfichier du tout.
steinybot

30

Si vous utilisez Windows, utilisez tout ce qui suit, sélectionnez tout et copiez à partir d'une fenêtre du Bloc-notes:

notepad ~/.ssh/id_rsa.pub  

Si vous êtes sous OS X, utilisez:

pbcopy < ~/.ssh/id_rsa.pub

17

Voici comment j'ai trouvé le mien sur OS X:

  1. Ouvrez un terminal
  2. (Vous êtes dans le répertoire personnel) cd .ssh(un répertoire caché)
  3. pbcopy <id_rsa.pub (ceci le copie dans le presse-papiers)

Si cela ne fonctionne pas, faites un lset voyez quels fichiers s'y trouvent avec une .pubextension.


10

Après avoir généré votre clé SSH, vous pouvez effectuer:

cat .ssh/id_rsa.pub |pbcopy

qui copiera votre clé ssh dans votre presse-papiers.


9

Sur terminal cat ~/.ssh/id_rsa.pub

explication

  1. cat est un utilitaire Unix standard qui lit les fichiers et imprime la sortie
  2. ~ Est votre chemin d'accès à domicile
  3. /.ssh - votre répertoire caché contient tous vos certificats ssh
  4. id_rsa.pub OU id_dsa.pub sont des clés publiques RSA (la clé privée située sur la machine client). la clé primaire, par exemple, peut être utilisée pour activer le projet de clonage à partir du référentiel distant en toute sécurité vers votre point de terminaison client.

8

Si vous utilisez Windows PowerShell, le moyen le plus simple consiste à:

cat ~/.ssh/id_<key-type-here>.pub | clip

Cela copiera la clé dans votre presse-papiers pour un collage facile.

Donc, dans mon cas, j'utilise ed25519 car RSA est maintenant assez piratable:

cat ~/.ssh/id_ed25519.pub | clip

Comme je me retrouve souvent à faire cela, j'ai créé une fonction et défini un alias simple dont je pouvais me souvenir dans mon profil PowerShell (en savoir plus sur les profils PowerShell ici . Ajoutez simplement ceci à votre Microsoft.PowerShell_profile.ps1:

function Copy-SSHKey {
    Get-Content ~/.ssh/id_ed25519.pub | clip
}

Set_Alias -Name sshkey -Value Copy-SSHKey

Ensuite, dans une console PowerShell, exécutez . $profilepour charger les fonctions. Ensuite, à partir de maintenant, tout ce que vous aurez à faire est d'exécuter sshkey, puis de coller la clé là où vous en avez besoin via le presse-papiers.


7

Ouvrez votre fichier id_dsa.pub ou some_name.pub avec gedit et copiez-collez le contenu!

Utilisez simplement:

~/.ssh$ gedit some_name.pub

Quand je le fais, son ouverture d'un fichier vierge. Il ne montre aucun texte dedans. Mais quand je parcours le gestionnaire de fichiers, je peux voir le texte.
iamprem

7

Utilisation:

# sudo su
# cd /home/user/.ssh
.ssh# gedit id_rsa.pub

Copiez ensuite le fichier entier sans espaces. Cliquez sur votre icône en haut à droite de la page GitHub, accédez aux paramètres et ajoutez ssh.

Collez la copie dans l'espace. Il peut vous demander votre mot de passe GitHub. Entrez-le. Sauver.


7

La commande suivante enregistre la clé SSH dans le presse-papiers. Il vous suffit de coller à l'emplacement souhaité.

cat ~/.ssh/id_rsa.pub | pbcopy

C'est ma façon préférée.
iamkeir

5

Il peut être trouvé sur ce chemin (chemin par défaut):

/Users/john/.ssh

john est votre nom d'utilisateur Mac.


5

Si vous utilisez Windows, la commande est:

type %userprofile%\.ssh\id_rsa.pub

il doit imprimer la clé (si vous en avez une). Vous devez copier l'intégralité du résultat. Si aucun n'est présent, alors faites:

ssh-keygen -t rsa -C "your.email@example.com" -b 4096



3

Dans UBUNTU +18.04

         ssh-keygen -o -t rsa -b 4096 -C "email@example.com" 

Et après cela, copiez et collez

         cat ~/.ssh/id_rsa.pub 

ou

         cat ~/.ssh/id_dsa.pub

2

Sur un Mac, vous pouvez le faire pour le copier dans votre presse-papiers (comme un cmd + craccourci)
cat ~/Desktop/ded.html | pbcopy
pbcopy < ~/.ssh/id_rsa.pub

et coller pbpaste > ~Documents/id_rsa.txt

ou, utilisez cmd + vshorcut pour le coller ailleurs.

~/.sshest le même chemin que /Users/macbook-username/.ssh
vous pouvez utiliser la commande Imprimer le répertoire de travail: pwdcommande sur le terminal pour obtenir le chemin vers votre répertoire actuel.


1

J'utilise Git Bash pour mon Windows.

$ eval $ (ssh-agent -s) // active la connexion

  • une sortie

$ ssh-add ~ / .ssh / id_rsa // ajoute l'identité

  • une autre sortie

$ clip <~ / .ssh / id_rsa.pub // CECI EST L'IMPORTANT. Cela ajoute votre clé à votre presse-papiers. Retournez dans GitHub et collez-le, et voilá! Vous devriez être prêt à partir.


0

Sur Mac / unix et Windows:

ssh-keygenpuis suivez les invites. Il vous demandera un nom pour le fichier (disons que vous l'appelez pubkey, par exemple). Tout de suite, vous devriez avoir votre empreinte digitale de clé et l'image aléatoire de votre clé visible pour vous.

Ensuite, utilisez simplement votre éditeur de texte préféré et entrez la commande vim pubkey.pubet elle (votre clé ssh-rsa) devrait être là.

Remplacez vim par emacs ou tout autre éditeur que vous avez / préférez.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.