SSH を使用して Linux または macOS から Linux インスタンスに接続します。
Secure Shell (SSH) を使用して、Linux または macOS オペレーティングシステムを実行するローカルマシンから Linux インスタンスに接続することも、EC2 Instance Connect や AWS Systems Manager セッションマネージャーなどのプラットフォームに依存しない接続ツールを使用することもできます。プラットフォームに依存しないツールの詳細については、「Linux インスタンスへの接続」を参照してください。
このページでは、SSH クライアントを使用してインスタンスに接続する方法について説明します。Windows から Linux インスタンスに接続するには、「Windows から接続する」を参照してください。
注記
インスタンスに接続しようとしているときにエラーが発生した場合は、インスタンスが SSH 接続の前提条件 のすべてを満たしていることを確認してください。前提条件をすべて満たしているにもかかわらず Linux インスタンスに接続できない場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。
SSH 接続の前提条件
Linux インスタンスに接続する前に、以下の前提条件を満たしていることを確認してください。
- インスタンスのステータスの確認
-
インスタンスを起動してから接続できるようになるまでには、数分かかる場合があります。インスタンスのステータスチェックが成功していることを確認します。この情報は、[Instances (インスタンス)] ページの [Status check (ステータスチェック)] 列で確認できます。
- インスタンスに接続するためのパブリック DNS 名とユーザー名の取得
-
インスタンスのパブリック DNS 名または IP アドレス、およびインスタンスへの接続に使用するユーザー名を確認するには、「インスタンスに関する情報を取得する」を参照してください。
- プライベートキーを見つけ、アクセス許可を設定する
-
インスタンスへの接続に必要なプライベートキーを特定し、キーのアクセス許可を設定するには、「プライベートキーを見つけ、許可を設定する」を参照してください。
- 必要に応じてローカルコンピュータに SSH クライアントをインストールする
-
ローカルコンピュータには、デフォルトで SSH クライアントがインストールされている場合があります。これは、コマンドラインに「ssh」と入力することで確認できます。ご使用のコンピュータでこのコマンドが認識されない場合、SSH クライアントをインストールできます。
-
インストール可能なコンポーネントとして、最新バージョンの Windows サーバー 2019 と Windows 10 - OpenSSH が含まれています。詳細については、「Windows での OpenSSH
」を参照してください。 -
以前のバージョンの Windows - OpenSSH をダウンロードしてインストールします。詳細については、「Win32-OpenSSH
」を参照してください。 -
Linux および MacOS X - OpenSSH をダウンロードしてインストールします。詳細については、https://www.openssh.com
を参照してください。
-
SSH クライアントを使用して Linux インスタンスに接続する
SSH クライアントを使用して Linux インスタンスに接続するには、次の手順に従います。インスタンスの接続でエラーが発生した場合は、「インスタンスへの接続に関するトラブルシューティング」を参照してください。
SSH を使用したインスタンスへの接続
-
ターミナルウィンドウで ssh コマンドを使用して、インスタンスに接続します。プライベートキー (
.pem
) のパスとファイル名、インスタンスのユーザー名、およびインスタンスのパブリック DNS 名や IPv6 アドレスを指定します。プライベートキー、インスタンスのユーザー名、およびインスタンスの DNS 名や IPv6 アドレスの検索方法の詳細については、「プライベートキーを見つけ、許可を設定する」および「インスタンスに関する情報を取得する」を参照してください。インスタンスに接続するには、次のいずれかのコマンドを使用します。-
(パブリック DNS) インスタンスのパブリック DNS 名を使用して接続するには、次のコマンドを入力します。
ssh -i
/path/key-pair-name
.peminstance-user-name
@instance-public-dns-name
-
(IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの IPv6 アドレスを使用して接続するには、次のコマンドを入力します。
ssh -i
/path/key-pair-name
.peminstance-user-name
@instance-IPv6-address
以下のようなレスポンスが表示されます。
The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (198-51-100-1)' can't be established. ECDSA key fingerprint is l4UB/neBad9tvkgJf1QZWxheQmR59WgrgzEimCG6kZY. Are you sure you want to continue connecting (yes/no)?
-
-
(オプション) セキュリティアラートのフィンガープリントが、(オプション) インスタンスのフィンガープリントを取得する で事前に取得したフィンガープリントと一致することを確認します。これらのフィンガープリントが一致しない場合、何者かが中間者 (MITM) 攻撃を試みている可能性があります。一致した場合は、次のステップに進んでください。
-
yes
と入力します。以下のようなレスポンスが表示されます。
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (ECDSA) to the list of known hosts.
SCP クライアントを使用した Linux インスタンスへのファイルの転送
ローカルコンピュータと Linux インスタンスの間でファイルを転送する方法の 1 つとして、セキュアコピープロトコル (SCP) を使用します。このセクションでは、SCP でファイルを転送する方法について説明します。この手順は、SSH を使用してインスタンスに接続する手順と似ています。
前提条件
-
インスタンスにファイルを転送するための一般的な前提条件の確認
ローカルマシンとインスタンスの間でファイルを転送する前に、次のアクションを実行して、必要な情報がすべて揃っていることを確認してください。
-
SCP クライアントのインストール
ほとんどの Linux、Unix、および Apple コンピュータには、デフォルトで SCP クライアントが含まれています。含まれていない場合は、OpenSSH プロジェクトから、SSH ツールの完全なスイートの無料実装が提供されており、これに SCP クライアントが含まれます。詳細については、https://www.openssh.com
を参照してください。
以下では、インスタンスのパブリック DNS 名、またはインスタンスに IPv6 アドレスがある場合は IPv6 アドレスを使用し、SCP でファイルを転送する手順を示します。
SCP を使用してコンピュータとインスタンス間でファイルを転送するには
-
コンピュータ上のソースファイルの場所と、インスタンス上の送信先パスを決定します。以下の例では、プライベートキーファイルの名前が
key-pair-name.pem
、転送するファイルがmy-file.txt
、インスタンスのユーザー名が ec2-user、インスタンスのパブリック DNS の名前がinstance-public-dns-name
で、インスタンスの IPv6 アドレスがinstance-IPv6-address
です。-
(パブリック DNS) インスタンスの送信先にファイルを転送するには、コンピュータから次のコマンドを入力します。
scp -i
/path/key-pair-name
.pem/path/my-file.txt
ec2-user
@instance-public-dns-name
:path/
-
(IPv6) インスタンスに IPv6 アドレスがある場合、インスタンスの送信先にファイルを転送するには、コンピュータから次のコマンドを入力します。IPv6 アドレスは、(
\
) でエスケープした角かっこ ([ ]
) で囲む必要があります。scp -i
/path/key-pair-name
.pem/path/my-file.txt
ec2-user
@\[instance-IPv6-address
\]:path/
-
-
SSH を使用してインスタンスに接続していない場合は、次のようなレスポンスが表示されます。
The authenticity of host 'ec2-198-51-100-1.compute-1.amazonaws.com (10.254.142.33)' can't be established. RSA key fingerprint is 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f. Are you sure you want to continue connecting (yes/no)?
(オプション) オプションで、セキュリティアラートのフィンガープリントがインスタンスのフィンガープリントと一致することを確認できます。詳細については、(オプション) インスタンスのフィンガープリントを取得する を参照してください。
yes
と入力します。 -
転送が成功した場合、レスポンスは以下のようになります。
Warning: Permanently added 'ec2-198-51-100-1.compute-1.amazonaws.com' (RSA) to the list of known hosts. my-file.txt 100% 480 24.4KB/s 00:00
-
逆の方向 (Amazon EC2 インスタンスからコンピュータ) にファイルを転送するには、ホストパラメータの順番を逆にします。例えば、次の例に示すように、EC2 インスタンスからローカルコンピュータの送信先に
my-file.txt
としてmy-file2.txt
を転送できます。-
(パブリック DNS) コンピュータの送信先にファイルを転送するには、コンピュータから次のコマンドを入力します。
scp -i
/path/key-pair-name
.pemec2-user
@instance-public-dns-name
:path/my-file.txt path/my-file2.txt
-
(IPv6) インスタンスに IPv6 アドレスがある場合、コンピュータの送信先にファイルを転送するには、コンピュータから次のコマンドを入力します。IPv6 アドレスは、(
\
) でエスケープした角かっこ ([ ]
) で囲む必要があります。scp -i
/path/key-pair-name
.pemec2-user
@\[instance-IPv6-address
\]:path/my-file.txt path/my-file2.txt
-