インスタンスに接続するための一般的な前提条件
Linux インスタンスに接続する前に、以下の前提条件を満たしていることを確認します。
インスタンスに関する情報を取得する
インスタンスの ID を取得します。
自分のインスタンスの ID は、Amazon EC2 コンソールを使用して ([インスタンス ID] 列から) 取得できます。その代わりに、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。
インスタンスのパブリック DNS 名を取得します。
自分のインスタンスのパブリック DNS を取得するには、Amazon EC2 コンソールを使用します。[Public IPv4 DNS] (パブリック IPv4 DNS) 列を確認します。この列が非表示になっている場合は、画面右上部にある設定アイコン (
) を選択し、[Public IPv4 DNS] (パブリック IPv4 DNS) を選択します。その代わりに、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。
(IPv6 のみ) インスタンスの IPv6 アドレスを取得します。
自分のインスタンスに IPv6 アドレスを割り当てている場合は、オプションで、パブリック IPv4 アドレスまたはパブリック IPv4 DNS のホスト名の代わりに、IPv6 アドレスを使用してインスタンスに接続することも可能です。ローカルコンピュータに IPv6 アドレスがあり、IPv6 を使用するように設定されている必要があります。インスタンスの IPv6 アドレスを取得するには、Amazon EC2 コンソールを使用します。[IPv6 IP] フィールドを確認します。その代わりに、describe-instances (AWS CLI) または Get-EC2Instance (AWS Tools for Windows PowerShell) コマンドを使用することもできます。IPv6 の詳細については、「IPv6 アドレス」を参照してください。
インスタンスのユーザー名を取得します。
インスタンスに接続するには、ユーザーアカウントのユーザー名、またはインスタンスの起動に使用した AMI のデフォルトのユーザー名を使用します。
-
ユーザーアカウントのユーザー名を取得します。
ユーザーアカウントの作成方法については、「Amazon Linux インスタンスでのユーザーアカウントの管理」を参照してください。
-
インスタンスの起動に使用した AMI のデフォルトのユーザー名を取得します。
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 プロバイダーに確認してください。
-
インスタンスへのインバウンドトラフィックを有効にする
IP アドレスからインスタンスへのインバウンド SSH トラフィックを有効にします。
インスタンスに関連付けられているセキュリティグループで、IP アドレスからの受信 SSH トラフィックが許可されていることを確認します。VPC のデフォルトのセキュリティグループでは、着信 SSH トラフィックはデフォルトでは許可されません。インスタンス起動ウィザードで作成されたセキュリティグループでは、デフォルトで SSH トラフィックが許可されます。詳細については、「Linux インスタンス用のインバウンドトラフィックの承認」を参照してください。
プライベートキーを見つけ、アクセス許可を設定する
[プライベートキーを見つける]
インスタンスの起動時に指定したキーペアの
.pem
ファイルの、コンピュータ上の場所への完全修飾パスを取得します。詳細については、「Identify the public key specified at launch (起動時に指定されたキーペアの特定)」「 (起動時に指定されたキーペアの特定)」を参照してください。プライベートキーファイルが見つからない場合は、「I've lost my private key.」(プライベートキーを紛失しました) を参照してください。Linux インスタンスに接続するにはどうしたらいいですか?プライベートキーのアクセス許可を設定する
macOS または Linux コンピュータの SSH クライアントを使用して Linux インスタンスに接続する場合は、次のコマンドを使用してプライベートキーファイルのアクセス許可を設定すると、お客様以外のユーザーはそれを読み取ることができないようになります。
chmod 400
my-key-pair
.pemこれらのアクセス権限を設定しないと、このキーペアを使用してインスタンスに接続できません。詳細については、「エラー: Unprotected Private Key File (保護されていないプライベートキーファイル)」を参照してください。
(オプション) インスタンスのフィンガープリントを取得する
インスタンスの接続時に、キーフィンガープリントを検証することで、中間者攻撃を防御することができます。フィンガープリントの検証は、サードパーティのパブリック AMI からインスタンスを起動した場合に役立ちます。
まず、インスタンスのフィンガープリントを取得します。次に、インスタンスを接続する際に、フィンガープリントを検証するようにプロンプトされます。取得したフィンガープリントと表示されたフィンガープリントを比較して検証できます。これらのフィンガープリントが一致しない場合、「中間者 (MITM) 」攻撃を受けている可能性があります。一致する場合には、安心してインスタンスに接続できます。
インスタンスのフィンガープリントを取得するための前提条件
-
インスタンスのフィンガープリントを取得するには、AWS CLI を使用する必要があります。AWS CLI のインストールの詳細については、AWS Command Line Interface ユーザーガイドの「AWS Command Line Interface のインストール」を参照してください。
-
インスタンスが
pending
の状態であってはいけません。フィンガープリントは、インスタンスの最初の起動が完了した後にのみ使用できます。
インスタンスのフィンガープリントを取得するには
-
使用するローカルシステム (インスタンス上ではなく) で次の get-console-output (AWS CLI) コマンドを使用して、フィンガープリントを取得します。
aws ec2 get-console-output --instance-id
instance_id
--output text -
以下は、出力で何を探すべきかを示す例です。正確な出力は、オペレーティングシステム、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: #############################################################