Chuyển đổi định dạng tệp PEM sang PPK


126

Có cách nào để chuyển đổi tệp PEM sang tệp PPK không? (bạn có thể đoán rằng Amazon EC2 cung cấp cho tôi tệp PEM và tôi cần sử dụng định dạng PPK cho kết nối SSH).


1
chưa bao giờ nghe nói về định dạng ppk, nhưng tôi nghi ngờ có bất cứ điều gì trong .NET cho nó.
Tổng thống James K. Polk

6
PPK là định dạng máy khách Putty. Tôi không nghĩ .NET có liên quan gì đến nó.
Borealid

2
Ok, tôi không nhận ra điều này ... Vậy PPK chỉ là một định dạng độc quyền / kỳ lạ chỉ tồn tại ở Putty-land?
LoneRanger

1
Đây cũng là định dạng duy nhất mà FileZilla chấp nhận.
Ryder

Và định dạng mặc định mà AmazonWebServices đưa ra các khóa của họ.
Kzqai

Câu trả lời:


230

Sử dụng PuTTYGen

Tạo và sử dụng khóa SSH

Tổng quat

vCloud Express hiện có khả năng tạo Khóa SSH cho các máy chủ Linux. Chức năng này sẽ cho phép người dùng tạo nhiều khóa tùy chỉnh bằng cách chọn tùy chọn "Tài khoản của tôi / Quản lý khóa". Khi khóa đã được tạo, người dùng sẽ được yêu cầu chọn Khóa SSH mong muốn trong quá trình “Tạo máy chủ” cho Linux.

Tạo và sử dụng khóa SSH

  1. Tạo khóa
    • Điều hướng đến “Tài khoản của tôi”
    • Chọn “Quản lý khóa”
    • Tạo khóa mới.
      • Trong quá trình tạo khóa, bạn sẽ được nhắc tải xuống tệp khóa riêng của mình ở định dạng .PEM. Bạn sẽ không thể tải lại khóa cá nhân vì nó không được lưu trữ trong vCloud Express.
      • Hộp kiểm "Mặc định" được sử dụng cho API.
  2. Triển khai máy chủ và chọn khóa
  3. Kết nối

    • SSH (Mac / Linux)
      • Sao chép tệp .PEM vào máy mà bạn sẽ kết nối.
      • Đảm bảo các quyền trên tệp .PEM là phù hợp (chmod 600 file.pem)
      • Kết nối bằng lệnh ssh: ssh vcloud @ ipaddress –i privkey.pem
    • Putty (Windows)
      • Tải xuống Putty và puttygen từ - tại đây
      • Sử dụng puttygen để chuyển đổi tệp .PEM thành tệp .PPK.
      • Khởi động puttygen và chọn “Tải”
      • Chọn tệp .PEM của bạn.
      • Putty sẽ chuyển đổi định dạng .PEM sang định dạng .PPK. nhập mô tả hình ảnh ở đây
      • Chọn “Lưu khóa cá nhân” Không yêu cầu cụm mật khẩu nhưng có thể được sử dụng nếu cần bảo mật bổ sung.
    • Kết nối với Putty.

      • Khởi chạy Putty và nhập địa chỉ IP của máy chủ. Nếu kết nối với địa chỉ riêng 10.X, trước tiên bạn phải thiết lập kết nối SSL VPN.
      • Điều hướng đến Kết nối / SSH / Auth
      • Nhấp vào “Duyệt qua” và chọn tệp .PPK bạn đã xuất từ ​​puttygen. nhập mô tả hình ảnh ở đây

      • Nhấp vào “Mở”. Khi kết nối xuất hiện, hãy nhập tên người dùng (mặc định là vcloud).

Hướng dẫn được sao chép từ đây


Cảm ơn, tôi đã làm điều này và nó hoạt động! LoneRanger, tôi nghĩ bạn có thể đánh dấu đây là câu trả lời đúng :-)
Kevin P.

65

Tôi khá sốc vì điều này vẫn chưa được trả lời vì giải pháp rất đơn giản.

Như đã đề cập trong các bài viết trước, bạn sẽ không muốn chuyển đổi nó bằng C # mà chỉ cần một lần. Điều này rất dễ thực hiện với PuTTYGen.

  1. Tải xuống .pem của bạn từ AWS
  2. Mở PuTTYgen
  3. Nhấp vào "Tải" ở phía bên phải khoảng 3/4 xuống
  4. Đặt loại tệp thành *. *
  5. Duyệt đến và mở tệp .pem của bạn
  6. PuTTY sẽ tự động phát hiện mọi thứ nó cần và bạn chỉ cần nhấp vào "Lưu khóa cá nhân" và bạn có thể lưu khóa ppk của mình để sử dụng với PuTTY

Thưởng thức!


2
Đối với những người mà giải pháp này không hoạt động, hãy cập nhật puttygen của bạn từ chiark.greenend.org.uk/~sgtatham/putty/download.html . Cái của tôi là năm 2005 và không thể mở PEM
mistika

31
Thật là buồn cười khi bạn đang tìm cách làm điều gì đó mà bạn chưa làm trong một thời gian dài và bạn tìm thấy câu trả lời stackoverflow mà bạn đã đưa ra 2,5 năm trước đó.
trex005

2
@ trex005 à, stackoverflow bây giờ dường như là một phần mở rộng của bộ nhớ của chúng ta, chúng ta không cần phải ghi nhớ mọi thứ trong đầu.
Paramvir Singh Karwal

@ParamvirSinghKarwal bạn rất đúng ... Tôi có thể sử dụng bài đăng này mỗi năm hoặc hai năm cho memroy của riêng tôi, nhưng tôi không bình luận nữa vì nó sẽ chỉ gây phiền nhiễu!
trex005

16
  1. Tải xuống puttygen
  2. Sau đó mở puttygen
  3. bấm tải
  4. Đặt loại tệp thành . tất cả các tệp
  5. Lưu PrivateKey
  6. và sau đó bạn có thể lưu bất kỳ tên nào mà tệp đó trở thành tệp ppk

5

Để kết nối SSH với phiên bản AWS EC2, Bạn không cần phải chuyển đổi tệp .PEM sang tệp PPK ngay cả trên máy windows, SSH đơn giản bằng công cụ 'git bash'. Không cần tải xuống và chuyển đổi các phần mềm này - Hy vọng điều này sẽ tiết kiệm thời gian tải xuống và chuyển đổi các khóa của bạn và giúp bạn có nhiều thời gian hơn cho những thứ EC2.


1
Hoặc, trong Windows 10, "Bash trên ubuntu trên windows"
andrew lorien

Bạn cần PPK làm ssh sử dụng putty
Sudip

Câu trả lời đúng nhưng không giải quyết câu hỏi trong tiêu đề
Oliver Dungey

5

Nếu bạn có máy Linux, chỉ cần cài đặt puttygen trong hệ thống của bạn và sử dụng lệnh use bên dưới để chuyển đổi khóa

pem to ppk sử dụng lệnh dưới đây:

puttygen keyname -o keyname.ppk

Lệnh dưới đây được sử dụng để chuyển đổi ppk sang pem không phải pem thành ppk

puttygen filename.ppk -O private-openssh -o filename.pem


Và bạn có thể cài đặt putty trên hầu hết các bản phân phối Linux - có một danh sách thú vị ở đây: command-not-found.com/puttygen
Oliver Dungey

Có gì sai trong phần dưới đây, hãy khen ngợi chuyển đổi pem thành tên khóa ppk puttygen -o keyname.ppk
Deepak Sharma

bạn đã chỉnh sửa và đề cập đến lệnh được sử dụng để chuyển đổi ppk sang pem
Deepak Sharma

3
  1. Lưu YourPEMFILE.pem vào thư mục .ssh của bạn
  2. Chạy puttygen từ Command Prompt

    a. Nhấp vào nút “Tải” để “Tải tệp khóa cá nhân hiện có”
    b. Thay đổi bộ lọc tệp thành “Tất cả các tệp ( . )
    C. Chọn YourPEMFILE.pem
    d. Nhấp vào Mở
    e. Puttygen hiển thị một thông báo nói rằng nó đã nhập thành công khóa ngoại. Bấm OK.
    f. Nhấp vào nút “Lưu khóa cá nhân”
    g. Khi được hỏi liệu bạn có chắc chắn muốn lưu mà không nhập cụm mật khẩu hay không, hãy trả lời “Có”.
    h. Nhập tên tệp YourPEMFILE.ppk
    i. Nhấp vào để lưu"


2

Chuyển đổi tệp .pem thành .ppk cho Windows 10

Bạn cần làm như sau:


1. Tải xuống PuTTYGen với Pageant .
2. Nhấn nút "tải" và chọn tệp ".pem" của bạn .
3. Nhấn nút "lưu khóa riêng tư" và lưu tệp ".ppk" của bạn .
4. Mở Pageant và nhấn nút "thêm phím" . Chỉ là tất cả. Tiếp tục chạy Pageant trong nền .
5. Bây giờ đăng nhập thông qua SSH hoặc SFTP mà không cần chọn trường mật khẩu.


nhập mô tả hình ảnh ở đây


nhập mô tả hình ảnh ở đây


nhập mô tả hình ảnh ở đây


1

PuTTYgen dành cho Ubuntu / Linux và PEM sang PPK

sudo apt install putty-tools
puttygen -t rsa -b 2048 -C "user@host" -o keyfile.ppk

0

Tôi đã sử dụng phiên bản dùng thử của ZOC Terminal Emulator và nó đã hoạt động. Nó dễ dàng chấp nhận các tệp * .pem của Amazon.

Tuy nhiên, mẹo là bạn cần chỉ định "ec2-user" thay vì "root" cho tên người dùng - mặc dù ví dụ được hiển thị trong bảng điều khiển EC2, điều này là sai! ;-)


0

Tôi đã gặp vấn đề tương tự với PuttyGen khi không muốn nhập khóa cá nhân openSSH. Tôi đã thử mọi thứ và những gì tôi phát hiện ra là phiên bản cũ của PuttyGen không hỗ trợ nhập OpenSSH. Sau khi tôi tải xuống Putty mới nhất, puttygen sau đó đã cho phép nó nhập khóa cá nhân openssh. Bây giờ tôi có một cái lỗ ở cạnh bàn vì đã đập đầu vào nó suốt một giờ qua.

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.