Wie greife ich auf meinen öffentlichen SSH-Schlüssel zu?

611

Ich habe gerade mein RSA-Schlüsselpaar generiert und wollte diesen Schlüssel zu GitHub hinzufügen.

Ich habe es versucht cd id_rsa.pubund id_rsa.pub, aber kein Glück. Wie kann ich auf meinen öffentlichen SSH-Schlüssel zugreifen?

sscirrus
quelle
3
@kenorb Du meinst, dass Q ein Duplikat davon ist? Diese Frage wurde zwei Jahre zuvor gestellt. :)
sscirrus
Ja, der andere scheint besser positioniert zu sein (basierend auf dem Wortlaut usw.), er hat mehr Ansichten und Stimmen in kürzerer Zeit, was darauf hinweist, dass er viel beliebter ist. Siehe: Sollte ich abstimmen, um eine doppelte Frage zu schließen, obwohl sie viel neuer ist und aktuellere Antworten enthält? Nach dem Duplizieren können beide Antworten zu einer zusammengeführt werden.
Kenorb
6
pbcopy < ~/.ssh/id_rsa.pubhat für mich gearbeitet! Überprüfen Sie diesen GitHub-Artikel
Connor Leech

Antworten:

1012

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

Sie können alle öffentlichen Schlüssel auflisten, indem Sie Folgendes tun:

$ ls ~/.ssh/*.pub

Mitch Dempsey
quelle
9
Obwohl ich die Datei an der Stelle sehe, auf die sie sich bezieht (C: /Users/Me/.ssh/.id_rsa.pub), erzeugen diese Befehle einen Fehler: Keine solche Datei oder kein solches Verzeichnis. Ich mache das von Git Bash, MyPC ~ / .ssh
sscirrus
2
@sscirrus: In Windows können Sie den typeBefehl verwenden. Oder öffnen Sie einfach die .pub-Datei im Editor und fügen Sie sie in github ein.
Peter Štibraný
Vielen Dank Peter für die Antwort und die Bearbeitung. Machen Sie es eine Antwort und ich werde akzeptieren :)
sscirrus
3
@sscirrus: Akzeptiere dieses ... es funktioniert auch (unter Unix oder Cygwin)
Peter Štibraný
32
unter Mac OS X:cat ~/.ssh/id_rsa.pub
Karlingen
195

Kopieren Sie den Schlüssel in Ihre Zwischenablage.

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

Warnung: Es ist wichtig, den Schlüssel genau zu kopieren, ohne Zeilenumbrüche oder Leerzeichen hinzuzufügen. Zum Glück macht es der Befehl pbcopy einfach, dieses Setup perfekt durchzuführen.

Und Sie können es überall einfügen.

Überprüfen Sie Folgendes, um eine bessere Vorstellung vom gesamten Prozess zu erhalten: Generieren von SSH-Schlüsseln .

D_D
quelle
6
sudo apt-get install xclip -yfür diejenigen Benutzer, die nicht pbcopyarbeiten.
Suarsenegger
4
sudo apt-get install -y xclipgefolgt von alias pbcopy="xclip -sel clip"und dann pbcopy < ~/.ssh/id_rsa.pubODER einfachxclip -selection clipboard < ~/.ssh/id_rsa.pub
gebbissimo
47

Sie können versuchen, den folgenden Befehl auszuführen, um Ihren RSA-Fingerabdruck anzuzeigen:

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

oder öffentlicher Schlüssel:

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

Wenn Sie die Meldung "Der Agent hat keine Identität." Haben, müssen Sie ssh-keygenzuerst Ihren RSA-Schlüssel generieren .

Kenorb
quelle
1
Dies ist gut, wenn Sie den Pfad des Schlüssels vorher nicht kennen. Es ist nicht immer in ~/.ssh/.
Rudolfbyker
Versuchte es, funktioniert auf Mac, Win10 (in Git Bash) und Ubuntu.
Filip Haglund
Die Verwendung ssh-add -List bei weitem die bessere Option, da nicht jeder SSH-Schlüssel ein RSA-Schlüssel ist, der sich im ~/.sshOrdner befindet. Ich bevorzuge es sehr, meinen PGP-Schlüssel zur Authentifizierung zu verwenden, und daher habe ich überhaupt keine ~/.ssh/id_rsa.pubDatei.
Steinybot
30

Wenn Sie unter Windows arbeiten, verwenden Sie Folgendes, wählen Sie alle aus und kopieren Sie sie aus einem Editor-Fenster:

notepad ~/.ssh/id_rsa.pub  

Wenn Sie unter OS X arbeiten, verwenden Sie:

pbcopy < ~/.ssh/id_rsa.pub
nsuinteger
quelle
17

So habe ich meine unter OS X gefunden:

  1. Öffnen Sie ein Terminal
  2. (Sie befinden sich im Ausgangsverzeichnis) cd .ssh(ein verstecktes Verzeichnis)
  3. pbcopy <id_rsa.pub (dies kopiert es in die Zwischenablage)

Wenn das nicht funktioniert, machen Sie eine lsund sehen Sie, welche Dateien mit einer .pubErweiterung darin sind.

Kennzeichen
quelle
10

Nachdem Sie Ihren SSH-Schlüssel generiert haben, können Sie Folgendes tun:

cat .ssh/id_rsa.pub |pbcopy

Dadurch wird Ihr SSH-Schlüssel in Ihre Zwischenablage kopiert.

Brett
quelle
9

Am Terminal cat ~/.ssh/id_rsa.pub

Erläuterung

  1. cat ist ein Standard-Unix-Dienstprogramm, das Dateien liest und Ausgaben druckt
  2. ~ Ist Ihr Home-User-Pfad
  3. /.ssh - Ihr verstecktes Verzeichnis enthält alle Ihre SSH-Zertifikate
  4. id_rsa.pub ODER id_dsa.pub sind öffentliche RSA-Schlüssel (der private Schlüssel auf dem Clientcomputer). Der Primärschlüssel kann beispielsweise verwendet werden, um das Klonen von Projekten vom Remote-Repository sicher auf Ihren Client-Endpunkt zu ermöglichen.
avivamg
quelle
8

Wenn Sie Windows PowerShell verwenden, ist der einfachste Weg:

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

Dadurch wird der Schlüssel zum einfachen Einfügen in Ihre Zwischenablage kopiert.

In meinem Fall verwende ich also ed25519, da RSA jetzt ziemlich hackbar ist:

cat ~/.ssh/id_ed25519.pub | clip

Da ich dies häufig mache, habe ich eine Funktion erstellt und einen einfachen Alias ​​festgelegt, an den ich mich in meinem PowerShell-Profil erinnern kann (weitere Informationen zu PowerShell-Profilen finden Sie hier . Fügen Sie dies einfach zu Ihrem hinzu Microsoft.PowerShell_profile.ps1:

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

Set_Alias -Name sshkey -Value Copy-SSHKey

Führen Sie dann in einer PowerShell-Konsole aus, . $profileum die Funktionen zu laden. Von nun an müssen Sie nur noch ausführen sshkeyund den Schlüssel über die Zwischenablage an einer beliebigen Stelle einfügen.

Riley Taylor
quelle
7

Öffnen Sie Ihre Datei id_dsa.pub oder some_name.pub mit gedit und kopieren Sie den Inhalt!

Benutz einfach:

~/.ssh$ gedit some_name.pub
sbdv0
quelle
Wenn ich das tue, öffnet es eine leere Datei. Es wird kein Text angezeigt. Aber wenn ich durch den Dateimanager stöbere, kann ich den Text sehen.
iamprem
7

Verwenden:

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

Kopieren Sie dann die gesamte Datei ohne Leerzeichen. Klicken Sie oben rechts auf der GitHub-Seite auf Ihr Symbol, gehen Sie zu den Einstellungen und fügen Sie ssh hinzu.

Fügen Sie die Kopie in das Feld ein. Möglicherweise werden Sie aufgefordert, Ihr GitHub-Passwort einzugeben. Geben Sie es ein. Speichern.

yavorcik
quelle
7

Der folgende Befehl speichert den SSH-Schlüssel in der Zwischenablage. Sie müssen nur an der gewünschten Stelle einfügen.

cat ~/.ssh/id_rsa.pub | pbcopy
Prabhat Kasera
quelle
Das ist mein Lieblingsweg.
Iamkeir
5

Es kann auf diesem Pfad gefunden werden (Standardpfad):

/Users/john/.ssh

john ist Ihr Mac-Benutzername.

Spydy
quelle
5

Wenn Sie Windows verwenden, lautet der Befehl:

type %userprofile%\.ssh\id_rsa.pub

Es sollte den Schlüssel drucken (falls Sie einen haben). Sie sollten das gesamte Ergebnis kopieren. Wenn keine vorhanden ist, gehen Sie wie folgt vor:

ssh-keygen -t rsa -C "[email protected]" -b 4096

Jghayes525
quelle
3

Öffnen Sie das Terminal nano ~ / .ssh / id_rsa.pub

Nick Wood
quelle
3

In UBUNTU +18.04

         ssh-keygen -o -t rsa -b 4096 -C "[email protected]" 

Und danach einfach kopieren und einfügen

         cat ~/.ssh/id_rsa.pub 

oder

         cat ~/.ssh/id_dsa.pub
Shabeer Sha
quelle
2

Auf einem Mac können Sie dies tun, um es in Ihre Zwischenablage zu kopieren (wie eine cmd + cVerknüpfung).
cat ~/Desktop/ded.html | pbcopy
pbcopy < ~/.ssh/id_rsa.pub

und einzufügen pbpaste > ~Documents/id_rsa.txt

Oder verwenden Sie cmd + vShorcut, um es an einer anderen Stelle einzufügen.

~/.sshist derselbe Pfad wie /Users/macbook-username/.ssh
Sie können den pwdBefehl Arbeitsverzeichnis drucken: auf dem Terminal verwenden, um den Pfad zu Ihrem aktuellen Verzeichnis abzurufen.

Jun711
quelle
1

Ich benutze Git Bash für mein Windows.

$ eval $ (ssh-agent -s) // aktiviert die Verbindung

  • einige Ausgabe

$ ssh-add ~ / .ssh / id_rsa // fügt die Identität hinzu

  • eine andere Ausgabe

$ clip <~ / .ssh / id_rsa.pub // DAS IST DAS WICHTIGE. Dadurch wird Ihr Schlüssel zu Ihrer Zwischenablage hinzugefügt. Gehen Sie zurück zu GitHub und fügen Sie es einfach ein und voilá! Du solltest gut gehen.

JW
quelle
0

Unter Mac / Unix und Windows:

ssh-keygenFolgen Sie dann den Anweisungen. Sie werden nach einem Namen für die Datei gefragt (sagen wir, Sie nennen sie beispielsweise pubkey). Sie sollten sofort Ihren Schlüsselfingerabdruck und das Randomart-Bild Ihres Schlüssels für Sie sichtbar haben.

Verwenden Sie dann einfach Ihren bevorzugten Texteditor und geben Sie den Befehl ein. Dieser vim pubkey.pub(Ihre ssh-rsa-Taste) sollte vorhanden sein.

Ersetzen Sie vim durch Emacs oder einen anderen Editor, den Sie haben / bevorzugen.

sawreals
quelle