Jak uzyskać dostęp do mojego klucza publicznego SSH?

610

Właśnie wygenerowałem moją parę kluczy RSA i chciałem dodać ten klucz do GitHub.

Próbowałem cd id_rsa.pubi id_rsa.pub, ale bez powodzenia. Jak mogę uzyskać dostęp do mojego klucza publicznego SSH?

sscirrus
źródło
3
@kenorb Masz na myśli, że Q jest duplikatem tego? To pytanie zostało zadane dwa lata wcześniej. :)
sscirrus
Tak, drugi wydaje się być w lepszej pozycji (na podstawie sformułowań itp.), Ma więcej wyświetleń i głosów w krótszym czasie, co oznacza, że ​​jest znacznie bardziej popularny. Zobacz: Czy powinienem zagłosować za zamknięciem duplikatu pytania, mimo że jest ono znacznie nowsze i zawiera bardziej aktualne odpowiedzi? Po zduplikowaniu obie odpowiedzi można połączyć w jedną.
kenorb
6
pbcopy < ~/.ssh/id_rsa.pubpracował dla mnie! Sprawdź ten artykuł w serwisie GitHub
Connor Leech,

Odpowiedzi:

1010

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

Możesz wyświetlić listę wszystkich posiadanych kluczy publicznych, wykonując:

$ ls ~/.ssh/*.pub

Mitch Dempsey
źródło
9
Mimo że widzę plik w miejscu, do którego się odnosi (C: /Users/Me/.ssh/.id_rsa.pub), polecenia te powodują błąd: Brak takiego pliku lub katalogu. Robię to z Git Bash, MyPC ~ / .ssh
sscirrus
2
@sscirrus: W systemie Windows można użyć typepolecenia. Lub po prostu otwórz plik .pub w notatniku i wklej go do github.
Peter Štibraný
Wielkie dzięki Peter za odpowiedź i edycję. Daj mi odpowiedź, a zaakceptuję :)
sscirrus 30.09.10
3
@sscirrus: zaakceptuj ten ... działa również (pod
Uniksem
32
w systemie Mac OS X:cat ~/.ssh/id_rsa.pub
karlingen,
195

Skopiuj klucz do schowka.

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

Ostrzeżenie: ważne jest, aby skopiować klucz dokładnie bez dodawania nowych linii lub białych znaków. Na szczęście polecenie pbcopy ułatwia perfekcyjne wykonanie tej konfiguracji.

Możesz go wkleić gdziekolwiek potrzebujesz.

Aby uzyskać lepszy obraz całego procesu, sprawdź to: Generowanie kluczy SSH .

D_D
źródło
6
sudo apt-get install xclip -ydla tych użytkowników, którzy nie mają pbcopypracy.
suarsenegger
4
sudo apt-get install -y xclipnastępnie, alias pbcopy="xclip -sel clip"a następnie pbcopy < ~/.ssh/id_rsa.pubLUB po prostuxclip -selection clipboard < ~/.ssh/id_rsa.pub
gebbissimo
47

Możesz spróbować uruchomić następujące polecenie, aby wyświetlić swój odcisk palca RSA:

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

lub klucz publiczny:

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

Jeśli pojawi się komunikat: „Agent nie ma tożsamości”, najpierw należy wygenerować klucz RSA ssh-keygen.

kenorb
źródło
1
Jest to przydatne, gdy nie znasz wcześniej ścieżki klucza. Nie zawsze jest w środku ~/.ssh/.
rudolfbyker
Wypróbowałem to, działa na Macu, Win10 (w git bash) i Ubuntu.
Filip Haglund
Korzystanie ssh-add -Ljest zdecydowanie lepszą opcją, ponieważ nie każdy klucz SSH jest kluczem RSA znajdującym się w ~/.sshfolderze. Zdecydowanie wolę używać mojego klucza PGP do uwierzytelniania, więc w ogóle nie mam ~/.ssh/id_rsa.pubpliku.
steinybot
30

Jeśli korzystasz z systemu Windows, użyj następujących poleceń, zaznacz wszystko i skopiuj z okna Notatnika:

notepad ~/.ssh/id_rsa.pub  

Jeśli korzystasz z systemu OS X, użyj:

pbcopy < ~/.ssh/id_rsa.pub
nsuinteger
źródło
17

Oto jak znalazłem mój w OS X:

  1. Otwórz terminal
  2. (Jesteś w katalogu domowym) cd .ssh(ukryty katalog)
  3. pbcopy <id_rsa.pub (to kopiuje go do schowka)

Jeśli to nie zadziała, zrób lsi sprawdź, jakie pliki są tam z .pubrozszerzeniem.

znak
źródło
10

Po wygenerowaniu klucza SSH możesz wykonać:

cat .ssh/id_rsa.pub |pbcopy

który skopiuje twój klucz ssh do schowka.

Brett
źródło
9

Na terminalu cat ~/.ssh/id_rsa.pub

wyjaśnienie

  1. cat to standardowe narzędzie uniksowe, które odczytuje pliki i drukuje dane wyjściowe
  2. ~ Czy Twoja ścieżka użytkownika domowego
  3. /.ssh - twój ukryty katalog zawiera wszystkie twoje certyfikaty ssh
  4. id_rsa.pub LUB id_dsa.pub są kluczami publicznymi RSA (klucz prywatny znajduje się na komputerze klienta). klucz podstawowy może na przykład służyć do bezpiecznego klonowania projektu ze zdalnego repozytorium do punktu końcowego klienta.
avivamg
źródło
8

Jeśli używasz programu Windows PowerShell, najprostszym sposobem jest:

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

Spowoduje to skopiowanie klucza do schowka w celu łatwego wklejenia.

Tak więc w moim przypadku używam ed25519, ponieważ RSA jest teraz dość hakowalne:

cat ~/.ssh/id_ed25519.pub | clip

Ponieważ często to robię, stworzyłem funkcję i ustawiłem prosty alias, który mogłem zapamiętać w moim profilu PowerShell (dowiedz się więcej o profilach PowerShell tutaj . Po prostu dodaj to do Microsoft.PowerShell_profile.ps1:

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

Set_Alias -Name sshkey -Value Copy-SSHKey

Następnie w konsoli PowerShell uruchom, . $profileaby załadować funkcje. Następnie odtąd wszystko, co musisz zrobić, to uruchomić sshkey, a następnie wkleić klucz w dowolnym miejscu za pomocą schowka.

Riley Taylor
źródło
7

Otwórz plik id_dsa.pub lub some_name.pub za pomocą gedit i skopiuj-wklej zawartość!

Po prostu użyj:

~/.ssh$ gedit some_name.pub
sbdv0
źródło
Kiedy to robię, otwieram pusty plik. Nie pokazuje w nim żadnego tekstu. Ale kiedy przeglądam menedżera plików, widzę tekst.
iamprem,
7

Posługiwać się:

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

Następnie skopiuj cały plik bez spacji. Kliknij ikonę w prawym górnym rogu strony GitHub, przejdź do ustawień i dodaj ssh.

Wklej kopię w spację. Może pojawić się monit o podanie hasła do GitHub. Wpisz to. Zapisać.

yavorcik
źródło
7

Następujące polecenie zapisze klucz SSH w schowku. Musisz tylko wkleić w wybranej lokalizacji.

cat ~/.ssh/id_rsa.pub | pbcopy
Prabhat Kasera
źródło
To mój ulubiony sposób.
iamkeir,
5

Można go znaleźć na tej ścieżce (ścieżka domyślna):

/Users/john/.ssh

john to nazwa użytkownika komputera Mac.

Szpieg
źródło
5

Jeśli używasz systemu Windows, polecenie to:

type %userprofile%\.ssh\id_rsa.pub

powinien wydrukować klucz (jeśli go masz). Powinieneś skopiować cały wynik. Jeśli żaden nie jest obecny, wykonaj następujące czynności:

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

Jghayes525
źródło
3

Otwórz terminal nano ~ / .ssh / id_rsa.pub

Nick Wood
źródło
3

W UBUNTU +18.04

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

A potem po prostu skopiuj i wklej

         cat ~/.ssh/id_rsa.pub 

lub

         cat ~/.ssh/id_dsa.pub
Shabeer Sha
źródło
2

Na komputerze Mac możesz to zrobić, aby skopiować go do schowka (jak cmd + cskrót)
cat ~/Desktop/ded.html | pbcopy
pbcopy < ~/.ssh/id_rsa.pub

i wkleić pbpaste > ~Documents/id_rsa.txt

lub użyj cmd + vskrótu, aby wkleić go gdzie indziej.

~/.sshjest taka sama ścieżka, jak /Users/macbook-username/.ssh
Możesz użyć polecenia Drukuj katalog roboczy: pwdna terminalu, aby uzyskać ścieżkę do bieżącego katalogu.

7 czerwca
źródło
1

Używam Git Bash dla mojego systemu Windows.

$ eval $ (ssh-agent -s) // aktywuje połączenie

  • jakieś wyjście

$ ssh-add ~ / .ssh / id_rsa // dodaje tożsamość

  • jakieś inne wyjście

$ clip <~ / .ssh / id_rsa.pub // TO JEST WAŻNA JEDEN. To doda twój klucz do schowka. Wróć do GitHub i po prostu wklej go, i voilá! Powinieneś być gotowy do drogi.

JW
źródło
0

W systemie Mac / unix i Windows:

ssh-keygennastępnie postępuj zgodnie z instrukcjami. Poprosi Cię o nazwę pliku (powiedz na przykład, że nazywasz go pubkey). Od razu powinieneś mieć swój odcisk palca klucza i obraz losowy klucza widoczny dla Ciebie.

Następnie użyj swojego ulubionego edytora tekstu i wprowadź polecenie vim pubkey.pub a ono (twój klucz ssh-rsa) powinno tam być.

Zastąp vima emacsem lub innym edytorem, który posiadasz / preferujesz.

Sawreals
źródło