Làm cách nào để truy cập khóa công khai SSH của tôi?


611

Tôi vừa tạo cặp khóa RSA của mình và tôi muốn thêm khóa đó vào GitHub.

Tôi đã thử cd id_rsa.pubid_rsa.pub, nhưng không có may mắn. Làm cách nào tôi có thể truy cập khóa công khai SSH của mình?



3
@kenorb Ý bạn là Q là bản sao này? Câu hỏi này đã được hỏi hai năm trước. :)
sscirrus

Vâng, cái khác dường như được định vị tốt hơn (dựa trên từ ngữ, v.v.), nó có nhiều lượt xem và phiếu bầu hơn trong khoảng thời gian ngắn hơn cho thấy nó phổ biến hơn nhiều. Xem: Tôi có nên bỏ phiếu để đóng một câu hỏi trùng lặp, mặc dù nó mới hơn nhiều và có nhiều câu trả lời cập nhật hơn không? Khi trùng lặp, cả hai câu trả lời có thể được hợp nhất thành một.
kenorb

6
pbcopy < ~/.ssh/id_rsa.pubđã làm cho tôi! Kiểm tra bài viết
Connor Leech

Câu trả lời:


1012

cat ~/.ssh/id_rsa.pub hoặc là cat ~/.ssh/id_dsa.pub

Bạn có thể liệt kê tất cả các khóa công khai bạn có bằng cách thực hiện:

$ ls ~/.ssh/*.pub


9
Mặc dù tôi thấy tệp ở vị trí mà nó đề cập đến (C: /Users/Me/.ssh/.id_rsa.pub), các lệnh này đang tạo ra lỗi: Không có tệp hoặc thư mục như vậy. Tôi đang làm điều này từ Git Bash, MyPC ~ / .ssh
sscirrus

2
@sscirrus: Trong windows, bạn có thể sử dụng typelệnh. Hoặc chỉ cần mở tệp .pub trong notepad và dán nó vào github.
Peter tibraný

Cảm ơn rất nhiều Peter, cho câu trả lời và chỉnh sửa. Làm cho nó một câu trả lời và tôi sẽ chấp nhận :)
sscirrus

3
@sscirrus: chấp nhận cái này ... nó cũng hoạt động (dưới unix hoặc cygwin)
Peter tibraný

32
trên Mac OS X:cat ~/.ssh/id_rsa.pub
karlingen

195

Sao chép chìa khóa vào clipboard của bạn.

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

Cảnh báo: điều quan trọng là sao chép khóa chính xác mà không cần thêm dòng mới hoặc khoảng trắng. Rất may, lệnh pbcopy giúp dễ dàng thực hiện thiết lập này một cách hoàn hảo.

Và bạn có thể dán nó bất cứ nơi nào bạn cần.

Để hiểu rõ hơn về toàn bộ quá trình, hãy kiểm tra điều này: Tạo Khóa SSH .


6
sudo apt-get install xclip -ycho những người dùng không pbcopylàm việc
suarsalanger

4
sudo apt-get install -y xcliptheo sau alias pbcopy="xclip -sel clip"và sau đó pbcopy < ~/.ssh/id_rsa.pubHOẶC đơn giảnxclip -selection clipboard < ~/.ssh/id_rsa.pub
gebbissimo

47

Bạn có thể thử chạy lệnh sau để hiển thị dấu vân tay RSA của mình:

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

hoặc khóa công khai:

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

Nếu bạn có thông báo: 'Đại lý không có danh tính.', Thì trước tiên bạn phải tạo khóa RSA của mình ssh-keygen.


1
Điều này tốt cho khi bạn không biết đường đi của chìa khóa trước. Nó không phải lúc nào cũng trong ~/.ssh/.
rudolfbyker

Đã thử nó, hoạt động trên Mac, Win10 (trong git bash) và Ubuntu.
Filip Haglund

Sử dụng ssh-add -Llà tùy chọn tốt hơn vì không phải mọi khóa SSH đều là khóa RSA trong ~/.sshthư mục. Tôi rất thích sử dụng khóa PGP của mình để xác thực và vì vậy tôi hoàn toàn không có ~/.ssh/id_rsa.pubtệp.
steinybot

30

Nếu bạn đang sử dụng Windows, hãy chọn tất cả và sao chép từ cửa sổ Notepad:

notepad ~/.ssh/id_rsa.pub  

Nếu bạn đang dùng OS X, hãy sử dụng:

pbcopy < ~/.ssh/id_rsa.pub

17

Đây là cách tôi tìm thấy của tôi trên OS X:

  1. Mở một thiết bị đầu cuối
  2. (Bạn đang ở trong thư mục chính) cd .ssh(một thư mục ẩn)
  3. pbcopy <id_rsa.pub (cái này sao chép nó vào clipboard)

Nếu điều đó không hiệu quả, hãy thực hiện lsvà xem những tập tin nào trong đó có .pubphần mở rộng.


10

Sau khi bạn tạo khóa SSH, bạn có thể làm:

cat .ssh/id_rsa.pub |pbcopy

Nó sẽ sao chép khóa ssh của bạn vào clipboard của bạn.


9

Trên thiết bị đầu cuối cat ~/.ssh/id_rsa.pub

giải trình

  1. cat là một tiện ích Unix tiêu chuẩn để đọc các tệp và in ra
  2. ~ Là đường dẫn người dùng nhà của bạn
  3. /.ssh - thư mục ẩn của bạn chứa tất cả các chứng chỉ ssh của bạn
  4. id_rsa.pub HOẶC id_dsa.pub là các khóa công khai RSA, (khóa riêng nằm trên máy khách). ví dụ, khóa chính có thể được sử dụng để cho phép nhân bản dự án từ kho lưu trữ từ xa đến điểm cuối của máy khách của bạn.

8

Nếu bạn đang sử dụng Windows PowerShell, cách dễ nhất là:

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

Điều đó sẽ sao chép chìa khóa vào clipboard của bạn để dán dễ dàng.

Vì vậy, trong trường hợp của tôi, tôi sử dụng ed25519 vì RSA hiện khá dễ hack:

cat ~/.ssh/id_ed25519.pub | clip

Vì tôi thấy mình làm điều này rất nhiều, tôi đã tạo một hàm và đặt bí danh đơn giản mà tôi có thể nhớ trong hồ sơ PowerShell của mình (tìm hiểu thêm về các cấu hình PowerShell tại đây . Chỉ cần thêm nó vào Microsoft.PowerShell_profile.ps1:

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

Set_Alias -Name sshkey -Value Copy-SSHKey

Sau đó, trong bảng điều khiển PowerShell, chạy . $profileđể tải các chức năng. Sau đó, từ bây giờ, tất cả những gì bạn cần làm là chạy sshkey, và sau đó dán khóa vào bất cứ nơi nào bạn cần thông qua bảng tạm.


7

Mở tệp id_dsa.pub hoặc some_name.pub của bạn bằng gedit và sao chép-dán nội dung!

Chỉ dùng:

~/.ssh$ gedit some_name.pub

Khi tôi làm như vậy, nó mở một tập tin trống. Nó không hiển thị bất kỳ văn bản trong đó. Nhưng khi tôi duyệt qua trình quản lý tập tin, tôi có thể thấy văn bản.
iamprem 7/03/2015

7

Sử dụng:

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

Sau đó sao chép toàn bộ tập tin mà không có bất kỳ khoảng trắng. Nhấp vào biểu tượng của bạn ở trên cùng bên phải của trang GitHub, đi đến cài đặt và thêm ssh.

Dán bản sao vào không gian. Nó có thể nhắc mật khẩu GitHub của bạn. Nhập nó Tiết kiệm.


7

Lệnh sau sẽ lưu khóa SSH trên bảng tạm. Bạn chỉ cần dán tại vị trí mong muốn.

cat ~/.ssh/id_rsa.pub | pbcopy

Đây là cách yêu thích của tôi.
iamkeir

5

Nó có thể được tìm thấy trên đường dẫn này (đường dẫn mặc định):

/Users/john/.ssh

john là tên người dùng Mac của bạn.


5

Nếu bạn đang sử dụng windows, lệnh là:

type %userprofile%\.ssh\id_rsa.pub

cần in khóa (nếu bạn có). Bạn nên sao chép toàn bộ kết quả. Nếu không có mặt, thì làm:

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



3

Trong UBUNTU +18.04

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

Và sau đó chỉ cần Sao chép và Dán

         cat ~/.ssh/id_rsa.pub 

hoặc là

         cat ~/.ssh/id_dsa.pub

2

Trên máy Mac, bạn có thể làm điều này để sao chép nó vào khay nhớ tạm của bạn (như cmd + cphím tắt)
cat ~/Desktop/ded.html | pbcopy
pbcopy < ~/.ssh/id_rsa.pub

và để dán pbpaste > ~Documents/id_rsa.txt

hoặc, sử dụng cmd + vshorcut để dán nó vào một nơi khác.

~/.sshlà đường dẫn giống như /Users/macbook-username/.ssh
Bạn có thể sử dụng thư mục Print work: pwdlệnh trên terminal để lấy đường dẫn đến thư mục hiện tại của bạn.


1

Tôi sử dụng Git Bash cho Windows của tôi.

$ eval $ (ssh-agent -s) // kích hoạt kết nối

  • một số đầu ra

$ ssh-add ~ / .ssh / id_rsa // thêm danh tính

  • một số đầu ra khác

$ clip <~ / .ssh / id_rsa.pub // ĐÂY LÀ MỘT QUAN TRỌNG. Điều này thêm chìa khóa của bạn vào clipboard của bạn. Quay trở lại GitHub và chỉ cần dán nó vào, và voilá! Bạn sẽ được tốt để đi.


0

Trên Mac / unix và Windows:

ssh-keygensau đó làm theo lời nhắc. Nó sẽ yêu cầu bạn đặt tên cho tệp (ví dụ: bạn gọi nó là pubkey). Ngay lập tức, bạn sẽ thấy dấu vân tay của bạn và hình ảnh ngẫu nhiên của khóa của bạn hiển thị với bạn.

Sau đó, chỉ cần sử dụng trình soạn thảo văn bản yêu thích của bạn và nhập lệnh vim pubkey.pubvà nó (khóa ssh-rsa của bạn) sẽ ở đó.

Thay thế vim bằng emacs hoặc bất kỳ trình soạn thảo nào khác mà bạn có / thích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.