Tạo khóa SSH công khai từ khóa riêng?


215

Giả sử tôi có khóa SSH, nhưng tôi đã xóa phần khóa chung. Tôi có phần khóa riêng. Có cách nào để tôi có thể tạo lại phần khóa công khai không?

Câu trả lời:


253

Sử dụng tùy chọn -y để ssh-keygen:

ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub

Từ 'người đàn ông ssh-keygen'

 -y      This option will read a private OpenSSH format file and print an
         OpenSSH public key to stdout.

Chỉ định khóa riêng với tùy chọn -f, khóa của bạn có thể là dsa thay vì rsa. Tên của khóa riêng của bạn có thể chứa những gì bạn đã sử dụng. Khóa công khai mới được tạo phải giống với khóa bạn đã tạo trước đó.


7
Tại sao "-t dsa"? Mayge chìa khóa của OP là rsa? Tôi sẽ thoát khỏi -t và thay vào đó sử dụng một -f.
innaM

1
Điểm tốt, được cập nhật tương ứng
Kyle Brandt

vâng, ban đầu của tôi là RSA.
Rory

1
Trên Mac OSX 10.9.3 Mavericks tôi đang bị 'tải không thành công' sau khi chạy lệnh. Tôi giải quyết điều này như thế nào?
Hyperf Focus

Tôi nghĩ rằng bạn có thể tiến thêm một bước này với tham số -N trong trường hợp khóa riêng được bảo vệ bằng mật khẩu:ssh-keygen -f ~/.ssh/id_rsa -y -N "$PASSWORD" > ~/.ssh/id_rsa.pub
ken

6

Giải pháp dành riêng cho người dùng sử dụng Windows

Công cụ được sử dụng:

  • Puttygen (Trình tạo khóa PuTTY)
  • WinSCP

Các bước thực hiện:

  1. Mở trình tạo khóa PuTTY.
  2. Tải khóa riêng của bạn ( *.ppktập tin).
  3. Sao chép dữ liệu khóa chung của bạn từ phần "Khóa chung để dán vào tệp OpenSSH ủy quyền" của Trình tạo khóa PuTTY và dán dữ liệu khóa vào tệp "ủy quyền" (sử dụng notepad) nếu bạn muốn sử dụng.

Ảnh chụp cho thấy các phần của Puttygen cần tập trung:

Ảnh chụp cho thấy các phần của Puttygen để tập trung



Puttygen cũng có thể 'nhập' OpenSSH (thực sự là OpenSSL-legacy) và các khóa riêng định dạng SSHCOM. Và mặc dù có nguồn gốc trên Windows, nó cũng đã được chuyển sang Unix và phiên bản Unix puttygenlà một chương trình dòng lệnh (không phải GUI); xem ví dụ: linux.die.net/man/1/puttygen
dave_thndry_085
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.