Як отримати доступ до свого відкритого ключа SSH?


610

Я щойно створив свою пару ключів RSA, і я хотів додати цей ключ до GitHub.

Я спробував cd id_rsa.pubі id_rsa.pub, але не пощастило. Як я можу отримати доступ до свого відкритого ключа SSH?



3
@kenorb Ви маєте на увазі, що Q - це дублікат цього? Це питання було задано на два роки раніше. :)
sscirrus

Так, інший, здається, краще розташувався (виходячи з формулювання тощо), він має більше поглядів і голосів за коротший проміжок часу, що вказує на те, що він набагато популярніший. Див.: Чи слід голосувати за закриття повторюваного запитання, навіть якщо воно набагато новіше та має більш сучасні відповіді? Після дублювання обидві відповіді можна було об'єднати в одну.
kenorb

6
pbcopy < ~/.ssh/id_rsa.pubпрацював на мене! Перевірте цю статтю GitHub
Connor Leech

Відповіді:


1011

cat ~/.ssh/id_rsa.pub або cat ~/.ssh/id_dsa.pub

Ви можете перерахувати всі відкриті ключі, виконавши:

$ ls ~/.ssh/*.pub


9
Хоча я бачу файл у тому місці, на яке він посилається (C: /Users/Me/.ssh/.id_rsa.pub), ці команди створюють помилку: такого файлу чи каталогу немає. Я роблю це з Git Bash, MyPC ~ / .ssh
sscirrus

2
@sscirrus: У Windows можна використовувати typeкоманду. Або просто відкрийте .pub файл у блокноті та вставте його в github.
Петро Штібрані

Велике спасибі Петро, ​​за відповідь та редагування. Зробіть це відповіддю, і я прийму :)
sscirrus

3
@sscirrus: прийміть це ... він також працює (під unix чи cygwin)
Петро Штібрані

32
на Mac OS X:cat ~/.ssh/id_rsa.pub
karlingen

195

Скопіюйте ключ у буфер обміну.

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

Попередження: важливо точно скопіювати ключ, не додаючи нові рядки чи пробіли. На щастя, команда pbcopy дозволяє легко виконати цю налаштування ідеально.

І ви можете вставити його куди завгодно.

Щоб краще зрозуміти весь процес, перевірте це: Створення SSH ключів .


6
sudo apt-get install xclip -yдля тих користувачів, які не pbcopyпрацюють.
suarsenegger

4
sudo apt-get install -y xclipдалі, alias pbcopy="xclip -sel clip"а потім pbcopy < ~/.ssh/id_rsa.pubАБО простоxclip -selection clipboard < ~/.ssh/id_rsa.pub
gebbissimo

47

Ви можете спробувати виконати таку команду, щоб показати свій відбиток RSA:

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

або відкритий ключ:

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

Якщо у вас є повідомлення: "Агент не має посвідчень.", То ssh-keygenспершу потрібно створити ключ RSA .


1
Це добре, коли ви заздалегідь не знаєте шлях ключа. Це не завжди в ~/.ssh/.
rudolfbyker

Випробував це, працює на Mac, Win10 (у git bash) та Ubuntu.
Філіп Хаглунд

Використання ssh-add -L- це набагато кращий варіант, оскільки не кожен ключ SSH - це ключ RSA, який сидить у ~/.sshпапці. Я набагато вважаю за краще використовувати свій ключ PGP для аутентифікації, тому у мене взагалі немає ~/.ssh/id_rsa.pubфайлу.
steinybot

30

Якщо у вас є Windows, використовуйте наступне: виберіть усе та скопіюйте з вікна Блокнот:

notepad ~/.ssh/id_rsa.pub  

Якщо ви перебуваєте в ОС X X, використовуйте:

pbcopy < ~/.ssh/id_rsa.pub

17

Ось як я знайшов мою в OS X:

  1. Відкрийте термінал
  2. (Ви перебуваєте в домашньому каталозі) cd .ssh(прихований каталог)
  3. pbcopy <id_rsa.pub (копіює її у буфер обміну)

Якщо це не працює, зробіть lsі подивіться, які файли є там із .pubрозширенням.


10

Після генерації ключа SSH ви можете зробити:

cat .ssh/id_rsa.pub |pbcopy

який скопіює ваш ключ ssh у буфер обміну.


9

На терміналі cat ~/.ssh/id_rsa.pub

пояснення

  1. cat - це стандартна утиліта Unix, яка читає файли та друкує вихідні дані
  2. ~ Ваш шлях до домашнього користувача
  3. /.ssh - ваш прихований каталог містить усі ваші ssh-сертифікати
  4. id_rsa.pub АБО id_dsa.pub - це відкриті ключі RSA, (приватний ключ, розташований на клієнтській машині). Наприклад, первинний ключ може бути використаний для активації клонування проекту з віддаленого сховища до кінцевої точки клієнта.

8

Якщо ви використовуєте Windows PowerShell, найпростіший спосіб - це:

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

Це скопіює ключ у буфер обміну для легкого вставки.

Тож у моєму випадку я використовую ed25519, оскільки RSA зараз досить зламаний:

cat ~/.ssh/id_ed25519.pub | clip

Оскільки я дуже часто цим займаюся, я створив функцію і встановив простий псевдонім, який я міг запам'ятати у своєму профілі PowerShell (дізнайтеся більше про профілі PowerShell тут . Просто додайте це до свого Microsoft.PowerShell_profile.ps1:

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

Set_Alias -Name sshkey -Value Copy-SSHKey

Потім в консолі PowerShell запустіть . $profileдля завантаження функцій. Потім відтепер все, що вам потрібно буде зробити, це запустити sshkey, а потім вставити ключ туди, куди вам потрібно, через буфер обміну.


7

Відкрийте свій файл id_dsa.pub або some_name.pub за допомогою gedit та скопіюйте та вставте вміст!

Просто використовуйте:

~/.ssh$ gedit some_name.pub

Коли я це роблю, відкриваємо порожній файл. У ньому не відображено жодного тексту. Але коли я переглядаю файловий менеджер, я можу побачити текст.
iamprem

7

Використання:

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

Потім скопіюйте весь файл без пробілів. Клацніть на піктограмі у верхньому правому куті сторінки GitHub, перейдіть до налаштувань та додайте ssh.

Вставте копію в пробіл. Він може запропонувати ввести пароль GitHub. Введіть його. Зберегти.


7

Наступна команда збереже ключ SSH у буфері обміну. Вам потрібно лише вклеїти в потрібне місце.

cat ~/.ssh/id_rsa.pub | pbcopy

Це мій улюблений спосіб.
iamkeir

5

Його можна знайти на цьому шляху (шлях за замовчуванням):

/Users/john/.ssh

john це ваше ім’я для Mac.


5

Якщо ви використовуєте Windows, команда:

type %userprofile%\.ssh\id_rsa.pub

він повинен надрукувати ключ (якщо у вас є). Ви повинні скопіювати весь результат. Якщо жодної немає, тоді виконайте:

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



3

В UBUNTU +18.04

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

А після цього просто скопіюйте та вставте

         cat ~/.ssh/id_rsa.pub 

або

         cat ~/.ssh/id_dsa.pub

2

На комп’ютері Mac це можна скопіювати у буфер обміну (наприклад, cmd + cярлик)
cat ~/Desktop/ded.html | pbcopy
pbcopy < ~/.ssh/id_rsa.pub

і наклеїти pbpaste > ~Documents/id_rsa.txt

або скористайтеся cmd + vярликом, щоб вставити його десь в іншому місці.

~/.sshце той самий шлях, що і /Users/macbook-username/.ssh
ви можете використовувати pwdкоманду Друк робочого каталогу: на терміналі, щоб отримати шлях до поточного каталогу.


1

Я використовую Git Bash для моєї Windows.

$ eval $ (ssh-agent -s) // активує з'єднання

  • деякий вихід

$ ssh-add ~ / .ssh / id_rsa // додає ідентичність

  • деякий інший вихід

$ clip <~ / .ssh / id_rsa.pub // ЦЕ ВАЖЛИВО. Це додає ваш ключ до буфера обміну. Поверніться до GitHub і просто вставте його, і voilá! Вам слід добре піти.


0

На Mac / unix та Windows:

ssh-keygenпотім дотримуйтесь підказок. Він попросить вас назвати файл (скажімо, ви називаєте його, наприклад, панкі). Відразу у вас повинен бути видимий ваш відбиток ключа та випадкове зображення вашого ключа.

Тоді просто скористайтеся улюбленим текстовим редактором та введіть команду, vim pubkey.pubі вона (ваша клавіша ssh-rsa) має бути там.

Замініть vim на emacs або будь-який інший редактор, який у вас є / хочете.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.