ฉันจะเข้าถึงกุญแจสาธารณะ SSH ของฉันได้อย่างไร


611

ฉันเพิ่งสร้างคู่คีย์ RSA ของฉันและฉันต้องการเพิ่มคีย์นั้นใน GitHub

ฉันพยายามcd id_rsa.pubและid_rsa.pubแต่ไม่มีโชค ฉันจะเข้าถึงกุญแจสาธารณะ SSH ของฉันได้อย่างไร



3
@kenorb คุณหมายความว่า Q ซ้ำกับสิ่งนี้หรือไม่? คำถามนี้ถูกถามเมื่อสองปีก่อน :)
sscirrus

ใช่ดูเหมือนว่าคนอื่น ๆ จะอยู่ในตำแหน่งที่ดีขึ้น (ตามถ้อยคำ ฯลฯ ) มีมุมมองและการโหวตมากขึ้นภายในระยะเวลาอันสั้นซึ่งบ่งชี้ว่าเป็นที่นิยมมากขึ้น ดู: ฉันควรลงคะแนนเพื่อปิดคำถามที่ซ้ำกันแม้ว่าจะเป็นรุ่นที่ใหม่กว่าและมีคำตอบล่าสุดอยู่เสมอ เมื่อทำซ้ำคำตอบทั้งสองสามารถรวมเป็นหนึ่ง
kenorb

6
pbcopy < ~/.ssh/id_rsa.pubทำงานให้ฉัน! ตรวจสอบบทความ GitHub นี้
Connor Leech

คำตอบ:


1012

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
ปีเตอร์Štibraný

ขอบคุณมากสำหรับคำตอบและการแก้ไข ทำให้มันเป็นคำตอบและฉันจะยอมรับ :)
sscirrus

3
@sscirrus: ยอมรับสิ่งนี้ ... มันทำงานได้ดี (ภายใต้ unix หรือ cygwin)
Peter Štibraný

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'

หากคุณได้รับข้อความ: 'ตัวแทนไม่มีตัวตน' จากนั้นคุณต้องสร้างคีย์ RSA ของคุณssh-keygenก่อน


1
นี่เป็นสิ่งที่ดีสำหรับเมื่อคุณไม่ทราบเส้นทางของกุญแจไว้ล่วงหน้า ~/.ssh/มันไม่ได้เสมอใน
rudolfbyker

ลองใช้งานได้กับ Mac, Win10 (ในคอมไพล์ทุบตี) และ Ubuntu
Filip Haglund

การใช้ssh-add -Lตัวเลือกที่ดีกว่านั้นไม่ใช่ว่าทุกคีย์ SSH จะเป็นหมายเลข RSA ที่อยู่ใน~/.sshโฟลเดอร์ ฉันชอบที่จะใช้คีย์ PGP ของฉันในการตรวจสอบสิทธิ์ดังนั้นฉันจึงไม่มี~/.ssh/id_rsa.pubไฟล์เลย
steinybot

30

หากคุณใช้ Windows ให้ใช้สิ่งต่อไปนี้เลือกทั้งหมดและคัดลอกจากหน้าต่าง Notepad:

notepad ~/.ssh/id_rsa.pub  

หากคุณใช้ OS 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 + vshorcut เพื่อวางที่อื่น

~/.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 และวางลงในและทำ! คุณควรจะไปดี


0

บน Mac / unix และ Windows:

ssh-keygenจากนั้นทำตามคำแนะนำ มันจะขอชื่อคุณจากไฟล์ (เช่นคุณเรียกว่า pubkey เป็นต้น) ทันทีที่คุณควรจะมีลายนิ้วมือกุญแจและภาพสุ่มของกุญแจของคุณให้คุณเห็น

จากนั้นเพียงใช้โปรแกรมแก้ไขข้อความที่คุณชื่นชอบและป้อนคำสั่ง vim pubkey.pubและมัน (คีย์ ssh-rsa ของคุณ) ควรจะมี

แทนที่เป็นกลุ่มด้วย emacs หรือโปรแกรมแก้ไขอื่น ๆ ที่คุณมี / ชอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.