インスタンスへの接続を設定する
Windows インスタンスに接続を設定するには、「Windows インスタンス用 Amazon EC2 ユーザーガイド」の「前提条件」を参照してください。
このトピックのタスクを実行して Amazon EC2 Linux インスタンスに接続するように設定します。SSH、EC2 Instance Connect、OpenSSH、PuTTY などの接続タイプに固有の前提条件については、以下の「Linux、macOS X、Windows から接続するためのオプション」を参照してください。
Linux または macOS X
ローカルコンピュータのオペレーティングシステムが Linux または macOS X の場合、インスタンスに接続するための、次のオプションがサポートされています。
Windows
ローカルコンピュータのオペレーティングシステムが Windows の場合、インスタンスに接続するための、次のオプションがサポートされています。
インスタンスへの接続に関するトラブルシューティング
インスタンスに関する情報を取得する
インスタンスに接続する準備をするには、Amazon EC2 コンソールまたは AWS CLI を使用して次の情報を取得します。

-
インスタンスのパブリック DNS 名を取得します。
Amazon EC2 コンソールから、インスタンスのパブリック DNS を取得できます。[インスタンス] ペインの [パブリック IPv4 DNS] 列を確認します。この列が非表示になっている場合は、画面右上部にある設定アイコン (
) を選択し、[パブリック IPv4 DNS] を選択します。パブリック DNS は、[インスタンス] ペインのインスタンス情報セクションにもあります。Amazon EC2 コンソールの [インスタンス] ペインでインスタンスを選択すると、そのインスタンスに関する情報がページの下半分に表示されます。[詳細] タブで、[パブリック IPv4 DNS] を探します。
その代わりに、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。
[パブリック IPv4 DNS] が表示されない場合は、[インスタンスの状態] が [実行中] であり、プライベートサブネットでインスタンスを起動していないことを確認します。インスタンス起動ウィザードを使用してインスタンスを起動した場合、[ネットワーク設定] の [パブリック IP の自動割り当て] フィールドを編集して、値を [無効] に変更した可能性があります。[パブリック IP の自動割り当て] オプションを無効にすると、インスタンスは起動時にパブリック IP アドレスが割り当てられません。
-
(IPv6 のみ) インスタンスの IPv6 アドレスを取得します。
自分のインスタンスに IPv6 アドレスを割り当てている場合は、オプションで、パブリック IPv4 アドレスまたはパブリック IPv4 DNS のホスト名の代わりに、IPv6 アドレスを使用してインスタンスに接続することも可能です。ローカルコンピュータに IPv6 アドレスがあり、IPv6 を使用するように設定されている必要があります。Amazon EC2 コンソールから、インスタンスの IPv6 アドレスを取得できます。[インスタンス] ペインの [IPv6 IPs] 列を確認します。または、インスタンス情報セクションで IPv6 アドレスを確認できます。Amazon EC2 コンソールの [インスタンス] ペインでインスタンスを選択すると、そのインスタンスに関する情報がページの下半分に表示されます。[詳細] タブで、[IPv6 アドレス] を探します。
その代わりに、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。IPv6 の詳細については、「IPv6 アドレス」を参照してください。
インスタンスのユーザー名を取得します。
インスタンスに接続するには、ユーザーアカウントのユーザー名、またはインスタンスの起動に使用した AMI のデフォルトのユーザー名を使用します。
-
ユーザーアカウントのユーザー名を取得します。
ユーザーアカウントの作成方法については、「Linux インスタンスのユーザーアカウントを管理する」を参照してください。
-
インスタンスの起動に使用した AMI のデフォルトのユーザー名を取得します。
インスタンスの起動に使用される AMI デフォルトユーザー名 Amazon Linux 2023
Amazon Linux 2
Amazon Linux
ec2-user
CentOS centos
またはec2-user
Debian admin
Fedora fedora
、またはec2-user
RHEL ec2-user
、またはroot
SUSE ec2-user
、またはroot
Ubuntu ubuntu
Oracle ec2-user
Bitnami bitnami
その他 AMI プロバイダーに確認してください。
-
プライベートキーを見つけ、アクセス許可を設定する
インスタンスに接続するには、プライベートキーファイルの場所を知っている必要があります。SSH 接続の場合、ユーザーのみがファイルを読み込むことができるように許可を設定する必要があります。
Amazon EC2 を使用する際のキーペアの仕組みについては、「Amazon EC2 のキーペアと Linux インスタンス」を参照してください。
[プライベートキーを見つける]
インスタンスの起動時に指定したキーペアの
.pem
ファイルの、コンピュータ上の場所への完全修飾パスを取得します。詳細については、「起動時に指定されたパブリックキーの特定」、「」を参照してください。プライベートキーファイルが見つからない場合は、「I've lost my private key.」(プライベートキーを紛失しました) を参照してください。Linux インスタンスに接続するにはどうすればよいですか?PuTTY を使用してインスタンスに接続していて、
.pem
ファイルを.ppk
に変換する必要がある場合は、このセクションの「PuTTY を使用した Windows から Linux インスタンスへの接続 トピック」の「PuTTYgen を使用してプライベートキーを変換する」を参照してください。-
プライベートキーへの許可を設定し、お客様のみが読み込みできるようにする必要があります
macOS または Linux から接続する
macOS または Linux コンピュータの SSH クライアントを使用して Linux インスタンスに接続する予定がある場合は、自分以外のユーザーが読み込むことができないように、次のコマンドを使用してプライベートキーファイルの許可を設定します。
chmod 400
key-pair-name
.pemこれらのアクセス権限を設定しないと、このキーペアを使用してインスタンスに接続できません。詳細については、「エラー: Unprotected Private Key File (保護されていないプライベートキーファイル)」を参照してください。
Windows から接続する
ファイルエクスプローラーを開き、
.pem
ファイルを右クリックします。[プロパティ] を選択し、[セキュリティ] タブ、[詳細設定] の順に選択します。それから [継承の無効化] を選択します。現在のユーザーを除くすべてのユーザーのアクセスを削除します。
(オプション) インスタンスのフィンガープリントを取得する
インスタンスの接続時に、インスタンスのフィンガープリントを検証することで、中間者攻撃を防御することができます。フィンガープリントの検証は、サードパーティが提供するパブリック AMI からインスタンスを起動する場合に役立ちます。
タスクの概要
まず、インスタンスのフィンガープリントを取得します。次に、インスタンスを接続する際に、フィンガープリントを検証するようにプロンプトされます。取得したフィンガープリントと表示されたフィンガープリントを比較します。これらのフィンガープリントが一致しない場合、何者かが中間者 (MITM) 攻撃を試みている可能性があります。一致する場合には、安心してインスタンスに接続できます。
インスタンスのフィンガープリントを取得するための前提条件
-
インスタンスのフィンガープリントを取得するには、AWS CLI を使用する必要があります。AWS CLI のインストールの詳細については、AWS Command Line Interface ユーザーガイドの「AWS Command Line Interface のインストール」を参照してください。
-
インスタンスが
pending
の状態であってはいけません。フィンガープリントは、インスタンスの最初の起動が完了した後にのみ使用できます。
インスタンスのフィンガープリントを取得するには
-
使用するローカルシステム (お客様が接続しているインスタンス上ではなく) で次の get-console-output (AWS CLI) コマンドを使用して、インスタンスのフィンガープリントを取得します。コンソール出力を取得するには、インスタンス所有者である必要があります。出力が大きい場合は、出力をテキストファイルにパイプして読み込みやすいようにすることができます。AWS CLI を使用する際は、明示的にまたはデフォルトリージョンを設定して、AWS リージョン を指定する必要があることに注意してください。リージョンを設定または指定する方法については、「AWS Command Line Interface ユーザーガイド」の「設定の基本」を参照してください。
aws ec2 get-console-output --instance-id
instance_id
--output text >temp.txt
-
次の出力例は、get-console-output コマンドを実行するときに確認する必要がある内容を示しています。正確な出力は、オペレーティングシステム、AMI バージョン、AWS でキーペアを作成したかどうかによって異なります。
ec2: ############################################################# ec2: -----BEGIN SSH HOST KEY FINGERPRINTS----- ec2: 1024 SHA256:7HItIgTONZ/b0CH9c5Dq1ijgqQ6kFn86uQhQ5E/F9pU root@ip-10-0-2-182 (DSA) ec2: 256 SHA256:l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY root@ip-10-0-2-182 (ECDSA) ec2: 256 SHA256:kpEa+rw/Uq3zxaYZN8KT501iBtJOIdHG52dFi66EEfQ no comment (ED25519) ec2: 2048 SHA256:L8l6pepcA7iqW/jBecQjVZClUrKY+o2cHLI0iHerbVc root@ip-10-0-2-182 (RSA) ec2: -----END SSH HOST KEY FINGERPRINTS----- ec2: #############################################################