AWSのEC2インスタンスへのSSH接続はインスタンス生成時にダウンロードするキーペアを利用して行うことができますが、WinSCPでこのキーペアを利用して接続しようとしたら、そのままではエラーとなって接続できません。ここではWinSCPからAWSのEC2インスタンスへ接続する方法を紹介します。

接続できない理由

AWSからダウンロードできるキーペアの形式はpemなのですが、WinSCPはこの形式が使えないためエラーとなってしまいます。

PuTTYgenを使ってpemからppkに変換する

PuTTYgenというソフトを使ってpemからppkに変換することでWinSCPで使うことができます。PuTTYgenはPuTTYのダウンロードサイトから入手することができます。自分の場合はtortoiseGitをイントールしたときに一緒に入っていたのでそれを利用しました。

PuTTYgenを起動してメニューの「Conversions」->「Import key」をクリックしてpemファイルを指定します。その後「Generate」ボタンを押すとppkファイルが生成できます。

WinSCPでppkファイルを指定してログインする

WinSCPを起動して、ホスト名にEC2インスタンスのパブリックDNSを、ユーザ名に「ec2-user」を入力し、「設定」ボタンから高度な設定を選択します。

高度な設定の中の「SSH」->「認証」を選び、「認証条件」の「秘密鍵」にppkキーを指定します。警告が出ますが、無視して進みます。

上記設定を行い「OK」を押して「ログイン」するとAWSに接続することができます。