Amazon .pemキーをPutty .ppkキーLinuxに変換する


49

.pemAWSから秘密鍵を生成してダウンロードしました。ただし、仮想マシンに接続するためにPuttyを使用するには、そのキーの.ppk形式が必要です。変換のプロセスは、ここで約20行で詳しく説明されています。

私はLinux Mint(Ubuntuディストリビューション)を使用しており、ターミナルでputtygenを使用できることを知っています。ただし、このツールの使用方法も、必要なパラメーターの構成方法もわかりません。puttygen --helpと入力すると、

PuTTYgen unidentified build, Aug  7 2013 12:24:58
Usage: puttygen ( keyfile | -t type [ -b bits ] )
                [ -C comment ] [ -P ] [ -q ]
                [ -o output-keyfile ] [ -O type | -l | -L | -p ]
  -t    specify key type when generating (rsa, dsa, rsa1)
  -b    specify number of bits when generating key
  -C    change or specify key comment
  -P    change key passphrase
  -q    quiet: do not display progress bar
  -O    specify output type:
           private             output PuTTY private key format
           private-openssh     export OpenSSH private key
           private-sshcom      export ssh.com private key
           public              standard / ssh.com public key
           public-openssh      OpenSSH public key
           fingerprint         output the key fingerprint
  -o    specify output file
  -l    equivalent to `-O fingerprint'
  -L    equivalent to `-O public-openssh'
  -p    equivalent to `-O public'

しかし、私はウェブサイトが私にするように言っていることをどうするかについては全くわからず、私の暫定案はこれまでのところ失敗しました。

ターミナルでputtygenを使用して、Webサイトから指示されたことを行うにはどうすればよいですか


回答:


70

GUIを使用する

PEMをPPKファイル形式に変換する」というタイトルの正確な操作方法については、このSO Q&Aを参照してください。

抜粋

  1. AWSから.pemをダウンロードします
  2. PuTTYgenを開き、SSH-2 RSAとして生成するキーのタイプを選択します
  3. 右側の約3/4下の[ロード]をクリックします
  4. ファイルタイプを *.*
  5. .pemファイルを参照して開きます
  6. PuTTYは必要なものをすべて自動的に検出します。[秘密キーを保存]をクリックするだけで、PuTTYで使用するためにppkキーを保存できます

コマンドラインを使用する

一方、コマンドラインツールを使用して.pemtoを.ppkファイルに変換する場合はputtygen、このQ&AというタイトルのSOでこのソリューションに出くわしました。

抜粋

$ puttygen keyfile.pem -O private -o avdev.ppk

公開鍵の場合:

$ puttygen keyfile.pem -L

参照資料


手順2〜6は、他の種類の秘密キーファイル(Git Bashのssh-keygenコマンドの結果ファイルなど)でも機能します。
AtAFork

コマンドラインから動作しなくなりました
Aryeh Beitz

これはOSX上で動作する方法を、PuTTYgenをが利用できない上の任意の考え
カシム

パスワード/パスフレーズを秘密鍵に追加する場合は、単に追加し-Pます。例puttygen k.pem -PO private -o k.ppk
CPHPython

15

GNU / Linuxを使用している場合、Puttyを使用する必要はありません。チュートリアルのその部分は、Windowsユーザーを対象としています。

ちょうどあなたのセット.pemに、ファイルのパーミッションをr--行うことによってchmod 400 mykey.pem、あなたがSSHにまっすぐにそれを渡すことができます:

ssh -i mykey.pem user@aws-host.amazon.com 

パテを使用しようとしている理由は、このプレックスチュートリアルの指示に従うことができるようにするためです。他の方法がある場合は、お気軽に説明してください。
Flame_Phoenix 14

Plex MediaサーバーはAWSマシン上にあり、Mintワークステーションからトンネリングしようとしていますが、これは正しいですか?これを説明する別の質問を開く必要がありますが、SSHトンネリングの方法を説明する多くの質問が既にあります。
フランソワフュージュ14

1
あなたが言及したコマンドを使用することで、リモートAWSインスタンスにログインできました。私は実際にコマンドを使用したファイルを転送したい(それが誰かを助けるために)sftp -oIdentityFile=mykey.pem user@<publicIP>...あなたの投稿が私が5時間以上抱えていた問題を解決するのを助けてくれたことに感謝します。
スハムトリパティ

0

Ubuntuで私のために働いた以下のコマンドを使用してください

puttygen /home/abc/Downloads/dockerkey1.pem -o home/abc/Downloads/dockerkey1.ppk -O private

puttygen pemKey.pem -o ppkKey.ppk -O private


これは、受け入れられた回答ですでに説明されています。sudo現在のユーザーが出力ディレクトリへの書き込み権限を持っている場合、これに使用する必要はありません。
スティーブンキット

ご提案ありがとうございました@Stephen kitt
thrinadhn
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.