簡単な手順: Azure 内に Linux VM 用の SSH 公開/秘密キーのペアを作成して使用するQuick steps: Create and use an SSH public-private key pair for Linux VMs in Azure

Secure Shell (SSH) キー ペアを使用すると、認証に SSH キーを使う仮想マシン (VM) を Azure に作成でき、ログインするためのパスワードが不要になります。With a secure shell (SSH) key pair, you can create virtual machines (VMs) in Azure that use SSH keys for authentication, eliminating the need for passwords to log in. この記事では、Linux VM 用の SSH 公開キー ファイルと秘密キー ファイルのペアを短時間で生成して使用する方法について説明します。This article shows you how to quickly generate and use an SSH public-private key file pair for Linux VMs. これらの手順は、Azure Cloud Shell、macOS または Linux ホスト、Windows Subsystem for Linux、および OpenSSH をサポートするその他のツールを使用して完了できます。You can complete these steps with the Azure Cloud Shell, a macOS or Linux host, the Windows Subsystem for Linux, and other tools that support OpenSSH.

詳しい背景と例については、SSH キー ペアを作成するための詳細な手順に関するページを参照してください。For more background and examples, see detailed steps to create SSH key pairs.

Windows コンピューター上で、SSH キーを生成して使用するその他の方法については、「Azure 上の Windows で SSH キーを使用する方法」を参照してください。For additional ways to generate and use SSH keys on a Windows computer, see How to use SSH keys with Windows on Azure.

サポートされる SSH キーの形式Supported SSH key formats

Azure は、現在、SSH プロトコル 2 (SSH-2) の RSA 公開キー/秘密キーのペア (最小長: 2048 ビット) をサポートしています。Azure currently supports SSH protocol 2 (SSH-2) RSA public-private key pairs with a minimum length of 2048 bits. その他のキーの形式 (ED25519 や ECDSA など) はサポートされていません。Other key formats such as ED25519 and ECDSA are not supported.

SSH キー ペアの作成Create an SSH key pair

ssh-keygen コマンドを使用して、SSH 公開キー ファイルと秘密キー ファイルを生成します。これらのファイルは、既定では ~/.ssh ディレクトリに作成されます。Use the ssh-keygen command to generate SSH public and private key files that are by default created in the ~/.ssh directory. 入力を求められたときに、別の場所を指定したり、追加のパスフレーズ (秘密キー ファイルにアクセスするためのパスワード) を指定したりできます。You can specify a different location and an additional passphrase (a password to access the private key file) when prompted. SSH キー ペアが現在の場所にある場合、それらのファイルは上書きされます。If an SSH key pair exists in the current location, those files are overwritten.

ssh-keygen -t rsa -b 2048

Azure CLI 2.0 を使用して VM を作成する場合は、必要に応じて az vm create コマンドを --generate-ssh-keys オプション付きで実行することで、SSH 公開キー ファイルと秘密キー ファイルを作成できます。If you use the Azure CLI 2.0 to create your VM, you can optionally generate SSH public and private key files by running the az vm create command with the --generate-ssh-keys option. キーは、~/.ssh ディレクトリに格納されます。The keys are stored in the ~/.ssh directory. このコマンド オプションを指定すると、その場所にキーが既に存在している場合でも、キーが上書きされることはありません。Note that this command option does not overwrite keys if they already exist in that location.

VM のデプロイ時に SSH 公開キーを提供するProvide SSH public key when deploying a VM

認証するために SSH キーを使用する Linux VM を作成するには、Azure Portal、CLI、Resource Manager テンプレート、またはその他の方法を使用して VM を作成するときに SSH 公開キーを指定します。To create a Linux VM that uses SSH keys for authentication, specify your SSH public key when creating the VM using the Azure portal, CLI, Resource Manager templates, or other methods:

SSH 公開キーの書式がわからない場合は、次のように cat を実行して公開キーを表示できます。~/.ssh/id_rsa.pub の部分は実際の公開キー ファイルの場所に置き換えてください。If you're not familiar with the format of an SSH public key, you can see your public key by running cat as follows, replacing ~/.ssh/id_rsa.pub with your own public key file location:

cat ~/.ssh/id_rsa.pub

公開キー ファイルの内容をコピーし、Azure Portal または Resource Manager テンプレートに貼り付けて使用する場合は、余分な空白スペースをコピーしないように注意してください。If you copy and paste the contents of the public key file to use in the Azure portal or a Resource Manager template, make sure you don't copy any additional whitespace. たとえば、macOS を使用している場合は、公開キー ファイル (既定では ~/.ssh/id_rsa.pub) を pbcopy にパイプして、内容をコピーできます (xclip など、同じ目的を達成できる Linux プログラムが他にもあります)。For example, if you use macOS, you can pipe the public key file (by default, ~/.ssh/id_rsa.pub) to pbcopy to copy the contents (there are other Linux programs that do the same thing, such as xclip).

キーの作成時に場所を変更していない限り、Azure 内の Linux VM 上に配置した公開キーは、既定で ~/.ssh/id_rsa.pub に格納されます。The public key that you place on your Linux VM in Azure is by default stored in ~/.ssh/id_rsa.pub, unless you changed the location when you created the keys. Azure CLI 2.0 で既存の公開キーを使用する VM を作成する場合は、az vm create コマンドを --ssh-key-value オプション付きで実行することで、使用する公開キーの値または場所を指定します。If you use the Azure CLI 2.0 to create your VM with an existing public key, specify the value or location of this public key by running the az vm create command with the --ssh-key-value option.

VM に SSH 接続するSSH to your VM

公開キーを Azure VM に、秘密キーをローカル システム上に配置した状態で、VM の IP アドレスまたは DNS 名を使用して、VM に SSH 接続します。With the public key deployed on your Azure VM, and the private key on your local system, SSH to your VM using the IP address or DNS name of your VM. 次のコマンドの azureusermyvm.westus.cloudapp.azure.com を、管理者のユーザー名と完全修飾ドメイン名 (または IP アドレス) に置き換えてください。Replace azureuser and myvm.westus.cloudapp.azure.com in the following command with the administrator user name and the fully qualified domain name (or IP address):

ssh azureuser@myvm.westus.cloudapp.azure.com

キー ペアを作成する際にパスフレーズを指定した場合は、ログイン プロセス中に入力を求められたら、そのパスフレーズを入力します If you provided a passphrase when you created your key pair, enter the passphrase when prompted during the login process. (サーバーは ~/.ssh/known_hosts フォルダーに追加されます。Azure VM にある公開キーが変更されるかサーバー名が ~/.ssh/known_hosts から削除されるまで、再度接続を求められることはありません)。(The server is added to your ~/.ssh/known_hosts folder, and you won't be asked to connect again until the public key on your Azure VM changes or the server name is removed from ~/.ssh/known_hosts.)

SSH キーを使用して作成された VM は、既定ではパスワードが無効にされます。この措置により、推測によるブルート フォース攻撃はコストが非常に高くつき、実行するのが難しくなります。VMs created using SSH keys are by default configured with passwords disabled, to make brute-forced guessing attempts vastly more expensive and therefore difficult.

次の手順Next steps

この記事では、すぐに使えるように単純な SSH キー ペアを作成する方法について説明しました。This article described creating a simple SSH key pair for quick usage.