Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

amazon web services - PuTTYgen doesn't give me the option for SSH-2 RSA

I've been accessing my AWS EC2 instance from Ubuntu for years with no issues. I'd like to also connect to it from a Windows machine. The procedure seems straight forward... copy my *.pem file to the Windows machine and convert to *.ppk using PuTTYgen.

The Amazon instructions provide the following...

enter image description here

But when I open PuTTYgen, I get...

enter image description here

No option is available for SSH-2 RSA.

What am I missing here? How do I create a .ppk in SSH-2 RSA format, when there isn't a given option?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

TLDR: Just skip the step 2:

  1. Under Type of key to generate, choose RSA.

    If you're using an older version of PuTTYgen, choose SSH-2 RSA.


The AWS documentation is wrong here. To convert an existing private key file (pem to ppk) in PuTTYgen, you do not need to select key type. PuTTYgen will automatically detect key type from the private key file. You will see key type of the loaded key in the two top boxes.

enter image description here

Also note that while currently AWS always generates RSA keys, if they ever change that, just do not worry and keep the key as it was generated, no matter what type it will be.


The selection, that the documentation incorrectly refers to, is for "generating" new keys only (as its label clearly says). It has no effect at all for converting existing keys.


Anyway, to answer the question: That's the first "RSA" option:

enter image description here

The SSH-2 is de-facto standard these days. So in the recent versions of PuTTYgen, they opted not to mention the version explicitly (to save a space for the new ECDSA and ED25519 key types).

The screenshot in AWS documentation is from an older version of PuTTYgen that did not support the ECDSA and ED25519 key types.

Check the PuTTYgen documentation. It explicitly mentions that all key types (with obvious exception of the "SSH-1 (RSA)") are for SSH-2.

The current version of the SSH protocol, SSH-2, supports several different key types. PuTTYgen can generate:

  • An RSA key for use with the SSH-2 protocol.
  • A DSA key for use with the SSH-2 protocol.
  • An ECDSA (elliptic curve DSA) key for use with the SSH-2 protocol.
  • An Ed25519 key (another elliptic curve algorithm) for use with the SSH-2 protocol.

PuTTYgen can also generate an RSA key suitable for use with the old SSH-1 protocol (which only supports RSA); for this, you need to select the ‘SSH-1 (RSA)’ option. Since the SSH-1 protocol is no longer considered secure, it's rare to need this option.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...