SSH クライアントを使用して Linux インスタンスに接続する
Secure Shell (SSH) を使用して、ローカルコンピュータから Linux インスタンスに接続できます。その他のオプションの詳細については、「EC2 インスタンスに接続する」を参照してください。
注記
インスタンスに接続しようとしているときにエラーが発生した場合は、インスタンスが SSH 接続の前提条件 のすべてを満たしていることを確認してください。前提条件をすべて満たしているにもかかわらず Linux インスタンスに接続できない場合は、「Amazon EC2 Linux インスタンスへの接続に関する問題のトラブルシューティング」を参照してください。
SSH 接続の前提条件
SSH を使用して Linux インスタンスに接続する前に、以下のタスクを実行してください。
- 一般的な前提条件を満たします。
-
-
インスタンスのステータスチェックが成功していることを確認します。インスタンスが接続リクエストを受け入れる準備が整うまでに、数分かかることがあります。詳細については、「ステータスチェックの表示」を参照してください。
-
- IP アドレスからのインバウンド SSH トラフィックを許可します。
-
インスタンスに関連付けられているセキュリティグループで、IP アドレスからの受信 SSH トラフィックが許可されていることを確認します。詳細については、「コンピュータからのインスタンスへの接続ルール」を参照してください。
- ローカルコンピュータに SSH クライアントをインストールします (必要な場合)。
-
ローカルコンピュータには、デフォルトで SSH クライアントがインストールされている場合があります。これを確認するには、ターミナルウィンドウで次のコマンドを入力します。ご使用のコンピュータでこのコマンドが認識されない場合、SSH クライアントをインストールする必要があります。
ssh
Windows で使用できるオプションの一部を次に示します。コンピュータで別のオペレーティングシステムを実行している場合は、そのオペレーティングシステムのドキュメントで SSH クライアントのオプションを確認してください。
Windows に OpenSSH をインストールしたら、SSH を使用して Windows コンピュータから Linux インスタンスに接続できます。開始する前に、以下の前提条件を満たしていることを確認してください。
- Windows のバージョン
-
コンピュータの Windows のバージョンは、Windows Server 2019 以降である必要があります。
それより前のバージョンの Windows の場合は、代わりに Win32-OpenSSH
をダウンロードしてインストールします。 - PowerShell の要件
-
PowerShell を使用して Windows OS に OpenSSH をインストールするには、PowerShell バージョン 5.1 以降を実行していて、アカウントがビルトインの管理者グループのメンバーである必要があります。PowerShell から
$PSVersionTable.PSVersion
を実行して、PowerShell のバージョンを確認します。自分がビルトインの管理者グループのメンバーかどうかを確認するには、次の PowerShell コマンドを実行します。
(New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
ビルトインの管理者グループのメンバーである場合、出力は
True
です。
PowerShell を使用して OpenSSH for Windows をインストールするには、次の PowerShell コマンドを実行します。
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
以下は出力例です。
Path :
Online : True
RestartNeeded : False
PowerShell を使用して Windows から OpenSSH をアンインストールするには、次の PowerShell コマンドを実行します。
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
以下は出力例です。
Path :
Online : True
RestartNeeded : True
Windows に WSL をインストールしたら、SSH クライアントなどの Linux コマンドラインツールを使用して、Windows コンピュータから Linux インスタンスに接続できます。
「EC2 Windows インスタンスに Windows Subsystem for Linux をインストールする」の手順に従います。Microsoft のインストールガイドの手順に従うと、Linux の Ubuntu ディストリビューションがインストールされます。必要に応じて、別の Linux ディストリビューションをインストールできます。
WSL ターミナルウィンドウで、Windows から WSL に .pem
ファイル (インスタンスの起動時に指定したキーペアの場合) をコピーします。インスタンスに接続する際に使用する、WSL の .pem
ファイルへの完全修飾パスをメモします。Windows ハードドライブへのパスを指定する方法の詳細については、「C ドライブにアクセスする方法
cp /mnt/
<Windows drive letter>/path/my-key-pair
.pem ~/WSL-path/my-key-pair
.pem
Windows Subsystem for Linux のアンインストールの詳細については、「WSL ディストリビューションをアンインストールする方法
SSH クライアントを使用して Linux インスタンスに接続する
SSH クライアントを使用して Linux インスタンスに接続するには、次の手順に従います。
SSH クライアントを使用してインスタンスに接続するには
-
コンピュータでターミナルウィンドウを開きます。
-
ssh コマンドを使用してインスタンスに接続します。ここで、前提条件の一部として収集したインスタンスの詳細が必要になります。例えば、プライベートキー (
.pem
ファイル) の場所、ユーザー名、およびパブリック 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.