PuTTY を使用した Windows から Linux インスタンスへの接続
Windows Server 2019 以降を実行している場合は、SSH プロトコルを使用したリモートログイン用のオープンソース接続ツールである OpenSSH の使用をお勧めします。OpenSSH を使用して Windows から Linux インスタンスに接続するステップについては、「OpenSSH を使用して Windows から Linux インスタンスに接続する」を参照してください。
次の手順では、Windows 用の無料の SSH クライアントである PuTTY を使用して、インスタンスに接続する方法について説明します。インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。
目次
前提条件
PuTTY を使用して Linux インスタンスに接続する前に、以下の前提条件を満たしていることを確認してください。
- インスタンスの準備ができていることを確認する
-
インスタンスを起動してから接続できるようになるまでには、数分かかる場合があります。インスタンスのステータスチェックが成功していることを確認します。この情報は、[Instances (インスタンス)] ページの [Status check (ステータスチェック)] 列で確認できます。
- インスタンスに接続するための一般的な前提条件を確認する
-
インスタンスのパブリック DNS 名または IP アドレス、およびインスタンスへの接続に使用するユーザー名を確認するには、「インスタンスへの接続を設定する」を参照してください。
- ローカルコンピューターに PuTTY をインストールする
-
PuTTY のダウンロードページ
から、PuTTY をダウンロードしてインストールします。既にインストールされている旧バージョンの PuTTY がある場合は、最新バージョンをダウンロードすることをお勧めします。必ずスイート全体をインストールします。 - PuTTYgen を使用してプライベート .pem キーを .ppk に変換する
-
インスタンスの起動時に指定したキーペアの場合、.pem 形式でプライベートキーを作成する場合は、PuTTY で使用できるように .ppk ファイルに変換する必要があります。プライベート.pem ファイルを検索し、次のセクションのステップに従ってください。
PuTTYgen を使用してプライベートキーを変換する
PuTTY は、SSH キーの PEM 形式をネイティブにサポートしていません。PuTTY には、PEM キーを PuTTY が必要とする PPK 形式に変換する PuTTYgen というツールが用意されています。PuTTY を使用してインスタンスに接続するには、プライベートキー(.pemファイル)を次の形式(.ppkファイル)に変換する必要があります。
プライベート .pem キーを .ppk 形式に変換するには
-
[スタート] メニューで、[すべてのプログラム]、[PuTTY]、[PuTTYgen] の順に選択します。
-
[Type of key to generate (生成するキーのタイプ)] で、[RSA] を選択します。お使いの PuTTYgen のバージョンにこのオプションが含まれていない場合は、[SSH-2 RSA] を選択します。
-
[Load] (ロード) を選択します。PuTTYgen では、デフォルトでは
.ppk
拡張子を持つファイルだけが表示されます。.pem
ファイルの場所を特定するには、すべてのタイプのファイルを表示するオプションを選択します。 -
インスタンスの起動時に指定したキーペアの
.pem
ファイルを選択し、[開く] を選択します。PuTTYgen により、.pem
ファイルが正常にインポートされたことが表示されます。[OK] を選択します。 -
プライベートキーを PuTTY で使用できる形式で保存するには、[プライベートキーを保存] を選択します。PuTTYgen に、パスフレーズなしでキーを保存することに関する警告が表示されます。[Yes] を選択します。
注記 プライベートキーのパスフレーズは追加の保護レイヤーです。プライベートキーが検出されても、パスフレーズがなければ使用できません。パスフレーズを使用することの欠点は、インスタンスにログオンしたり、ファイルをインスタンスにコピーしたりするのに人間の介入が必要となるため、オートメーションが難しくなることです。
-
キーペアに使用した名前と同じ名前 (
key-pair-name
など) をキーに指定し、[保存] を選択します。PuTTY により、.ppk
ファイルに拡張子が自動的に追加されます。
プライベートキーが PuTTY で使用するための正しい形式となりました。これで、PuTTY の SSH クライアントを使用してインスタンスに接続することができます。
Linux インスタンスへの接続
PuTTY を使用して Linux インスタンスに接続するには、次の手順に従います。秘密キーに作成した .ppk
ファイルが必要になります。詳細については、前のセクションの「PuTTYgen を使用してプライベートキーを変換する」を参照してください。インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。
PuTTY を使用してインスタンスに接続するには
-
PuTTY を開始します ([スタート] メニューで [All Programs (すべてのプログラム)、PuTTY、PuTTY] を選択)。
-
[Category (カテゴリ)] ペインで [Session (セッション)] を選択し、次のフィールドに入力します。
-
[Host Name (ホスト名)] ボックスで、次のいずれかの操作を行います。
-
(パブリック DNS) インスタンスのパブリック DNS 名を使用して接続するには、
instance-user-name
@instance-public-dns-name
と入力します。 -
(IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用して接続するには、
instance-user-name
@instance-IPv6-address
と入力します。
インスタンスのユーザー名、およびインスタンスのパブリック DNS 名または IPv6 アドレスを取得する方法については、「インスタンスに関する情報を取得する」を参照してください。
-
-
[Port (ポート)] の値が 22 であることを確認します。
-
[Connection type (接続タイプ)] で [SSH] を選択します。
-
-
(オプション) セッションをアクティブに保つため、定期的に「キープアライブ」データを自動的に送信するように PuTTY を設定できます。これは、セッションがアイドル状態になった際にインスタンスから切断されないようにするのに便利です。[Category] ペインで [Connection] を選択し、[Seconds between keepalives] フィールドで必要な間隔を入力します。例えば、10 分間アイドル状態が続いた後にセッションが切断される場合、180 と入力して PuTTY を設定し、キープアライブデータを 3 分ごとに送信するようにします。
-
[Category] ペインで、[Connection]、[SSH] の順に展開し、[Auth] を選択します。次のように入力します。
-
[Browse (参照)] を選択します。
-
キーペア用に生成した
.ppk
ファイルを選択し、[Open (開く)] を選択します。 -
(オプション) 後でこのセッションを再度開始する場合、後で使用できるようにセッション情報を保存できます。[Category (カテゴリ)] で [Session (セッション)] を選択し、[Saved Sessions (保存されたセッション)] にセッションの名前を入力して、[Save (保存)] を選択します。
-
[Open (開く)] を選択します。
-
-
このインスタンスに接続するのが初めての場合、PuTTY は接続先のホストを信頼するかどうかを確認するセキュリティアラートダイアログボックスを表示します。
-
(オプション) セキュリティアラートダイアログボックスのフィンガープリントが、(オプション) インスタンスのフィンガープリントを取得する で前に取得したフィンガープリントと一致することを確認します。これらのフィンガープリントが一致しない場合、「中間者 (MITM) 」攻撃を受けている可能性があります。一致した場合は、次のステップに進んでください。
-
[Yes] を選択します。ウィンドウが開き、インスタンスに接続した状態になります。
注記 プライベートキーを PuTTY フォーマットに変換するときにパスフレーズを指定した場合は、インスタンスにログインする際にそのパスフレーズを指定する必要があります。
-
インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。
PuTTY Secure Copy Client を使用した Linux インスタンスへのファイルの転送
PuTTY Secure Copy Client (PSCP) は、Windows コンピュータと Linux インスタンスの間でファイルを転送するために使用できるコマンドラインツールです。グラフィカルユーザーインターフェイス (GUI) を使用する場合は、WinSCP という名前のオープンソース GUI ツールを使用できます。詳細については、WinSCP を使用した Linux インスタンスへのファイルの転送 を参照してください。
PSCP を使用するには、「PuTTYgen を使用してプライベートキーを変換する」で生成したプライベートキーが必要です。Linux インスタンスのパブリック DNS 名、またはインスタンスに IPv6 アドレスがある場合は IPv6 アドレスも必要です。
次の例では、ファイル Sample_file.txt
を Windows コンピュータの C:\ ドライブから Amazon Linux インスタンス上の instance-user-name
ホームディレクトリに転送します。ファイルを転送するには、次のいずれかのコマンドを使用します。
-
(パブリック DNS) インスタンスのパブリック DNS 名を使用してファイルを転送するには、次のコマンドを入力します。
pscp -i C:\
path
\my-key-pair.ppk C:\path
\Sample_file.txtinstance-user-name
@instance-public-dns-name
:/home/instance-user-name
/Sample_file.txt -
(IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用してファイルを転送するには、次のコマンドを入力します。IPv6 アドレスは角かっこ (
[ ]
) で囲む必要があります。pscp -i C:\
path
\my-key-pair.ppk C:\path
\Sample_file.txtinstance-user-name
@[instance-IPv6-address
]:/home/instance-user-name
/Sample_file.txt
WinSCP を使用した Linux インスタンスへのファイルの転送
WinSCP は Windows 用の GUI ベースのファイルマネージャで、SFTP、SCP、FTP、および FTPS プロトコルを使って、ファイルをリモートコンピュータにアップロードおよび転送することができます。WinSCP を使用すると、Windows コンピュータから Linux インスタンスにファイルをドラッグアンドドロップしたり、2 つのシステム間でディレクトリ構造全体を同期させることができます。
要件
-
PuTTYgen を使用してプライベートキーを変換する で生成したプライベートキーが必要です。
-
Linux インスタンスのパブリック DNS 名が必要です。
-
Linux インスタンスに
scp
がインストールされている必要があります。一部のオペレーティングシステムでは、openssh-clients
パッケージをインストールします。Amazon ECS に最適化された AMI など、その他の場合は、scp
パッケージをインストールします。お使いの Linux ディストリビューションのドキュメントを確認してください。
WinSCP を使用してインスタンスに接続するには
-
http://winscp.net/eng/download.php
から WinSCP をダウンロードしてインストールします。ほとんどの場合、デフォルトのインストールオプションでかまいません。 -
WinSCP を起動します。
-
[WinSCP login (WinSCP ログイン)] 画面の [ホスト名] に、次のいずれかを入力します。
-
(パブリック DNS または IPv4 アドレス) インスタンスのパブリック DNS 名またはパブリック IPv4 アドレスを使用してログインするには、インスタンスのパブリック DNS 名またはパブリック IPv4 アドレスを入力します。
-
(IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用してログインするには、インスタンスの IPv6 アドレスを入力します。
-
-
[User name] については、AMI のデフォルトユーザー名を入力します。
-
Amazon Linux 2022、Amazon Linux 2 または Amazon Linux AMI の場合、ユーザー名は
ec2-user
です。 -
Centos AMI の場合、ユーザー名は
centos
またはec2-user
です。 -
Debian AMI の場合は、ユーザー名は
admin
です。 -
Fedora AMI の場合、ユーザー名は
fedora
またはec2-user
です。 -
RHEL AMI の場合、ユーザー名は
ec2-user
またはroot
です。 -
SUSE AMI の場合、ユーザー名は
ec2-user
またはroot
です。 -
Ubuntu AMI の場合、ユーザー名は
ubuntu
です。 -
SUSE AMI の場合、ユーザー名は
ec2-user
です。 -
Bitnami AMI の場合は、ユーザー名は
bitnami
です。 -
それ以外の場合は、AMI プロバイダーに確認してください。
-
-
インスタンスのプライベートキーを指定します。[Private key (プライベートキー)] に、プライベートキーへのパスを入力するか、[...] ボタンを選択して、ファイルを参照します。高度なサイトの設定を開くには、より新しいバージョンの WinSCP で、[設定] を選択します。プライベートキーファイル 設定を見つけるには、[SSH] の [認証] を選択します。
次に示すのは、WinSCP バージョン 5.9.4 からのスクリーンショットです。
WinSCP は PuTTY プライベートキーファイル (
.ppk
) ファイルを必要とします。PuTTYgen を使用して、.pem
セキュリティキーファイルを.ppk
フォーマットに変換することができます。詳細については、PuTTYgen を使用してプライベートキーを変換する を参照してください。 -
(オプション) 左のパネルで、[ディレクトリ] を選択します。[リモートディレクトリ] に、ファイルを追加する先のディレクトリのパスを入力します。より新しいバージョンの WinSCP で高度なサイトの設定を開くには、[設定] を選択します。リモートディレクトリ設定を見つけるには、[環境] の [ディレクトリ] を選択します。
-
[ログイン] を選択します。ホストのフィンガープリントをホストのキャッシュに追加するには、[はい] を選択します。
-
接続確立後、接続ウィンドウには Linux インスタンスが右側、ローカルマシンが左側に表示されます。リモートファイルシステムとローカルマシンの間でファイルをドラッグアンドドロップできます。WinSCP の詳細については、http://winscp.net/eng/docs/start
のドキュメントを参照してください。 SCP を実行して転送を開始できないというエラーが表示された場合は、Linux インスタンスに scp がインストールされていることを確認します。