az ssh

Note

このリファレンスは、Azure CLI (バージョン 2.45.0 以降) の ssh 拡張機能の一部です。 拡張機能は、az ssh コマンドを初めて実行するときに自動的にインストールされます。 拡張機能の詳細をご覧ください。

AAD によって発行された openssh 証明書を使用してリソース (Azure VM、Arc サーバーなど) に SSH 接続します。

パブリック IP アドレスを必要とせずに Arc 対応サーバーに SSH 接続するか、Azure Virtual Machines に SSH で接続します。 AAD によって発行された認証用の openssh 証明書は、現在 Linux でのみサポートされています。

コマンド

名前 説明 Status
az ssh arc

Azure Arc Servers に SSH 接続します。

拡張 GA
az ssh cert

AAD によって署名された SSH RSA 証明書を作成します。

拡張 GA
az ssh config

リソース (Azure VM、Arc Server など) の SSH 構成を作成します。この構成は、OpenSSH 構成と証明書をサポートするクライアントで使用できます。

拡張 GA
az ssh vm

Azure VM または Arc Server に SSH 接続します。

拡張 GA

az ssh arc

Azure Arc Servers に SSH 接続します。

ユーザーは、AAD で発行された証明書を使用するか、ローカル ユーザーの資格情報を使用してログインできます。 AAD で発行された証明書を使用してログインすることをお勧めします。 ローカル ユーザーの資格情報を使用して SSH 接続するには、--local-user パラメーターを使用してローカル ユーザー名を指定する必要があります。

az ssh arc [--certificate-file]
           [--local-user]
           [--name]
           [--port]
           [--private-key-file]
           [--public-key-file]
           [--rdp]
           [--resource-group]
           [--resource-type]
           [--ssh-client-folder]
           [--ssh-proxy-folder]
           [--yes]
           [<SSH_ARGS>]

AAD で発行された証明書を使用して SSH にリソース グループ名とマシン名を指定する

az ssh arc --resource-group myResourceGroup --name myMachine

カスタム秘密キー ファイルの使用

az ssh arc --resource-group myResourceGroup --name myMachine --private-key-file key --public-key-file key.pub

追加の ssh 引数の使用

az ssh arc --resource-group myResourceGroup --name myMachine -- -A -o ForwardX11=yes

証明書ベースの認証を使用して、ローカル ユーザー資格情報を使用して SSH にローカル ユーザー名を指定します。

az ssh arc --local-user username --resource-group myResourceGroup --name myMachine --certificate-file cert.pub --private-key-file key

キー ベースの認証を使用して、ローカル ユーザー資格情報を使用して SSH にローカル ユーザー名を指定します。

az ssh arc --local-user username --resource-group myResourceGroup --name myMachine --private-key-file key

パスワード ベースの認証を使用して、ローカル ユーザーの資格情報を使用して SSH にローカル ユーザー名を指定します。

az ssh arc --local-user username --resource-group myResourceGroup --name myMachine

ssh-keygen.exe や ssh.exe など、そのフォルダー内の ssh 実行可能ファイルを使用する SSH クライアント フォルダーを指定します。 指定されていない場合、拡張機能はプレインストールされた OpenSSH クライアントの使用を試みます (Windows では、拡張機能は C:\Windows\System32\OpenSSH の下でプレインストールされた実行可能ファイルを検索します)。

az ssh arc --resource-group myResourceGroup --name myMachine --ssh-client-folder "C:\Program Files\OpenSSH"

SSH 経由で RDP 接続を開きます。 パブリック IP アドレスのない Arc サーバーに RDP 経由で接続する場合に便利です。 現在、Windows クライアントでのみサポートされています。

az ssh arc --resource-group myResourceGroup --name myVM --local-user username --rdp

省略可能のパラメーター

--certificate-file -c

証明書ファイルへのパス。

--local-user

ローカル ユーザーのユーザー名。

--name --vm-name -n

Arc Server の名前。

--port

リモート ホスト上で接続するポート。

--private-key-file -i

RSA 秘密キー ファイルのパス。

--public-key-file -p

RSA 公開キー ファイルのパス。

--rdp --winrdp

SSH 経由で RDP 接続を開始します。

既定値: False
--resource-group -g

リソース グループの名前。 az configure --defaults group=<name> を使用して、既定のグループを構成できます。

--resource-type

リソースの種類は、Microsoft.HybridCompute/machines または Microsoft.ConnectedVMwareSphere/virtualMachines のいずれかである必要があります。

--ssh-client-folder

ssh 実行可能ファイル (ssh.exe、ssh-keygen.exe など) を含むフォルダー パス。 指定されていない場合は、既定で ssh がプレインストールされます。

--ssh-proxy-folder

ssh プロキシを保存するフォルダーへのパス。 指定しない場合は、ユーザーのホーム ディレクトリの .clientsshproxy フォルダーが既定で指定されます。

--yes --yes-without-prompt -y

ユーザーにメッセージを表示せずにサービス構成を更新します。

既定値: False
<SSH_ARGS>

OpenSSH に渡される追加の引数。

グローバル パラメーター
--debug

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告は抑制します。

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ をご覧ください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。

az ssh cert

AAD によって署名された SSH RSA 証明書を作成します。

az ssh cert [--file]
            [--public-key-file]
            [--ssh-client-folder]

AAD によって署名された有効期間の短い ssh 証明書を作成する

az ssh cert --public-key-file ./id_rsa.pub --file ./id_rsa-aadcert.pub

ssh-keygen.exe など、そのフォルダー内の ssh 実行可能ファイルを使用する SSH クライアント フォルダーを指定します。 指定されていない場合、拡張機能はプレインストールされた OpenSSH クライアントの使用を試みます (Windows では、拡張機能は C:\Windows\System32\OpenSSH の下でプレインストールされた実行可能ファイルを検索します)。

az ssh cert --file ./id_rsa-aadcert.pub --ssh-client-folder "C:\Program Files\OpenSSH"

省略可能のパラメーター

--file -f

SSH 証明書を書き込むファイル パス。既定では、-aadcert.pub appened の公開キー パスが使用されます。

--public-key-file -p

RSA 公開キー ファイルのパス。 指定しない場合、生成されたキー ペアは --file と同じディレクトリに格納されます。

--ssh-client-folder

ssh 実行可能ファイル (ssh.exe、ssh-keygen.exe など) を含むフォルダー パス。 指定されていない場合は、既定で ssh がプレインストールされます。

グローバル パラメーター
--debug

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告は抑制します。

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ をご覧ください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。

az ssh config

リソース (Azure VM、Arc Server など) の SSH 構成を作成します。この構成は、OpenSSH 構成と証明書をサポートするクライアントで使用できます。

SSH コマンドの設定をサポートする他のソフトウェア (git/rsync/etc) は、コマンドを 'ssh -F /path/to/config' (例: rsync -e 'ssh -F /path/to/config' ) に設定することで、構成ファイルを使用するように設定できます。 ユーザーは、AAD によって発行された証明書またはローカル ユーザーの資格情報を使用する ssh 構成ファイルを作成できます。

az ssh config --file
              [--certificate-file]
              [--ip]
              [--keys-dest-folder]
              [--local-user]
              [--name]
              [--overwrite]
              [--port]
              [--prefer-private-ip]
              [--private-key-file]
              [--public-key-file]
              [--resource-group]
              [--resource-type]
              [--ssh-client-folder]
              [--ssh-proxy-folder]
              [--yes]

AAD によって発行された証明書を使用して構成を作成するリソース グループとマシン名を指定し、ローカル ファイルに保存してから、そのリソースに SSH で接続します

az ssh config --resource-group myResourceGroup --name myVm --file ./sshconfig
ssh -F ./sshconfig myResourceGroup-myVM

構成を作成する Azure VM のパブリック IP (またはホスト名) を指定し、その VM に SSH 接続します

az ssh config --ip 1.2.3.4 --file ./sshconfig
ssh -F ./sshconfig 1.2.3.4

ローカル ユーザーに、ローカル ユーザーの資格情報を使用して構成を作成し、ローカル ファイルに保存し、そのリソースに ssh で接続するように指定します

az ssh config --resource-group myResourceGroup --name myMachine --local-user username --certificate-file cert --private-key-file key --file ./sshconfig
ssh -F ./sshconfig MyResourceGroup-myMachine-username

生成されたキーと証明書を格納するキー先フォルダーを指定します。 指定しない場合、SSH キーは構成ファイルの横にある新しいフォルダー "az_ssh_config" に格納されます。

az ssh config --ip 1.2.3.4 --file ./sshconfig --keys-destination-folder /home/user/mykeys

任意のホストで使用する汎用構成を作成する

#Bash
az ssh config --ip \* --file ./sshconfig
#PowerShell
az ssh config --ip * --file ./sshconfig

その他のソフトウェアの例

#Bash
az ssh config --ip \* --file ./sshconfig
rsync -e 'ssh -F ./sshconfig' -avP directory/ myvm:~/directory
GIT_SSH_COMMAND="ssh -F ./sshconfig" git clone myvm:~/gitrepo

ssh-keygen.exe など、そのフォルダー内の ssh 実行可能ファイルを使用する SSH クライアント フォルダーを指定します。 指定されていない場合、拡張機能はプレインストールされた OpenSSH クライアントの使用を試みます (Windows では、拡張機能は C:\Windows\System32\OpenSSH の下でプレインストールされた実行可能ファイルを検索します)。

az ssh config --file ./myconfig --resource-group myResourceGroup --name myVM --ssh-client-folder "C:\Program Files\OpenSSH"

ターゲットのリソースの種類を指定します。 同じリソース グループに同じ名前の Azure VM と Arc Server がある場合に便利です。 リソースの種類は、Arc Server の場合は "Microsoft.HybridCompute" 、Azure Virtual Machines の場合は "Microsoft.Compute" のいずれかです。

az ssh config --resource-type [Microsoft.Compute/virtualMachines|Microsoft.HybridCompute/machines] --resource-group myResourceGroup --name myVM --file ./myconfig

必須のパラメーター

--file -f

SSH 構成を書き込むファイル パス。

省略可能のパラメーター

--certificate-file -c

証明書ファイルへのパス。

--ip

VM のパブリック IP アドレス (またはホスト名)。

--keys-dest-folder --keys-destination-folder

新しく生成されたキーが格納されるフォルダー。

--local-user

ローカル ユーザーのユーザー名。

--name --vm-name -n

VM の名前。

--overwrite

このフラグが設定されている場合は、構成ファイルを上書きします。

既定値: False
--port

SSH ポート。

--prefer-private-ip

使用可能な場合は、プライベート IP を使用します。 既定では、パブリック IP のみが使用されます。

既定値: False
--private-key-file -i

RSA 秘密キー ファイルのパス。

--public-key-file -p

RSA 公開キー ファイルのパス。

--resource-group -g

リソース グループの名前。 az configure --defaults group=<name> を使用して、既定のグループを構成できます。

--resource-type

リソースの種類は、Microsoft.Compute/virtualMachines、Microsoft.HybridCompute/machines、または Microsoft.ConnectedVMwareSphere/virtualMachines のいずれかである必要があります。

--ssh-client-folder

ssh 実行可能ファイル (ssh.exe、ssh-keygen.exe など) を含むフォルダー パス。 指定されていない場合は、既定で ssh がプレインストールされます。

--ssh-proxy-folder

ssh プロキシを保存するフォルダーへのパス。 指定しない場合は、ユーザーのホーム ディレクトリの .clientsshproxy フォルダーが既定で指定されます。

--yes --yes-without-prompt -y

ユーザーにメッセージを表示せずにサービス構成を更新します。

既定値: False
グローバル パラメーター
--debug

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告は抑制します。

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ をご覧ください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。

az ssh vm

Azure VM または Arc Server に SSH 接続します。

ユーザーは、AAD で発行された証明書を使用するか、ローカル ユーザーの資格情報を使用してログインできます。 AAD で発行された証明書を使用してログインすることをお勧めします。 ローカル ユーザーの資格情報を使用して SSH 接続するには、--local-user パラメーターを使用してローカル ユーザー名を指定する必要があります。

az ssh vm [--certificate-file]
          [--hostname]
          [--local-user]
          [--name]
          [--port]
          [--prefer-private-ip]
          [--private-key-file]
          [--public-key-file]
          [--rdp]
          [--resource-group]
          [--resource-type]
          [--ssh-client-folder]
          [--ssh-proxy-folder]
          [--yes]
          [<SSH_ARGS>]

AAD で発行された証明書を使用して SSH にリソース グループ名とマシン名を指定する

az ssh vm --resource-group myResourceGroup --name myVM

AAD によって発行された証明書を使用して VM のパブリック IP (またはホスト名) を SSH に付与する

az ssh vm --ip 1.2.3.4
az ssh vm --hostname example.com

カスタム秘密キー ファイルの使用

az ssh vm --ip 1.2.3.4 --private-key-file key --public-key-file key.pub

追加の ssh 引数の使用

az ssh vm --ip 1.2.3.4 -- -A -o ForwardX11=yes

ターゲットのリソースの種類を指定します。 同じリソース グループに同じ名前の Azure VM と Arc Server がある場合に便利です。 リソースの種類は、Arc Server の場合は "Microsoft.HybridCompute" 、Azure Virtual Machines の場合は "Microsoft.Compute" のいずれかです。

az ssh vm --resource-type [Microsoft.Compute/virtualMachines|Microsoft.HybridCompute/machines] --resource-group myResourceGroup --name myVM

証明書ベースの認証を使用して、ローカル ユーザー資格情報を使用して SSH にローカル ユーザー名を指定します。

az ssh vm --local-user username --ip 1.2.3.4 --certificate-file cert.pub --private-key-file key

キー ベースの認証を使用して、ローカル ユーザー資格情報を使用して SSH にローカル ユーザー名を指定します。

az ssh vm --local-user username --resource-group myResourceGroup --name myVM --private-key-file key

パスワード ベースの認証を使用して、ローカル ユーザーの資格情報を使用して SSH にローカル ユーザー名を指定します。

az ssh vm --local-user username --resource-group myResourceGroup --name myArcServer

ssh-keygen.exe や ssh.exe など、そのフォルダー内の ssh 実行可能ファイルを使用する SSH クライアント フォルダーを指定します。 指定されていない場合、拡張機能はプレインストールされた OpenSSH クライアントの使用を試みます (Windows では、拡張機能は C:\Windows\System32\OpenSSH の下でプレインストールされた実行可能ファイルを検索します)。

az ssh vm --resource-group myResourceGroup --name myVM --ssh-client-folder "C:\Program Files\OpenSSH"

SSH 経由で RDP 接続を開きます。 パブリック IP アドレスのない Arc サーバーに RDP 経由で接続する場合に便利です。 現在、Windows クライアントでのみサポートされています。

az ssh vm --resource-group myResourceGroup --name myVM --local-user username --rdp

省略可能のパラメーター

--certificate-file -c

ローカル ユーザー資格情報を使用するときに認証に使用される証明書ファイルへのパス。

--hostname --ip

VM のパブリック (または到達可能なプライベート) IP アドレス (またはホスト名)。

--local-user

ローカル ユーザーのユーザー名。

--name --vm-name -n

VM の名前。

--port

SSH ポート。

--prefer-private-ip

プライベート IP を優先します。 プライベート IP への接続が必要です。

既定値: False
--private-key-file -i

RSA 秘密キー ファイルのパス。

--public-key-file -p

RSA 公開キー ファイルのパス。

--rdp --winrdp

SSH 経由で RDP 接続を開始します。

既定値: False
--resource-group -g

リソース グループの名前。 az configure --defaults group=<name> を使用して、既定のグループを構成できます。

--resource-type

リソースの種類は、Microsoft.Compute/virtualMachines、Microsoft.HybridCompute/machines、または Microsoft.ConnectedVMwareSphere/virtualMachines のいずれかである必要があります。

--ssh-client-folder

ssh 実行可能ファイル (ssh.exe、ssh-keygen.exe など) を含むフォルダー パス。 指定されていない場合は、既定で ssh がプレインストールされます。

--ssh-proxy-folder

ssh プロキシを保存するフォルダーへのパス。 指定しない場合は、ユーザーのホーム ディレクトリの .clientsshproxy フォルダーが既定で指定されます。

--yes --yes-without-prompt -y

ユーザーにメッセージを表示せずにサービス構成を更新します。

既定値: False
<SSH_ARGS>

OpenSSH に渡される追加の引数。

グローバル パラメーター
--debug

すべてのデバッグ ログを表示するようにログの詳細レベルを上げます。

--help -h

このヘルプ メッセージを表示して終了します。

--only-show-errors

エラーのみを表示し、警告は抑制します。

--output -o

出力形式。

承認された値: json, jsonc, none, table, tsv, yaml, yamlc
既定値: json
--query

JMESPath クエリ文字列。 詳細と例については、http://jmespath.org/ をご覧ください。

--subscription

サブスクリプションの名前または ID。 az account set -s NAME_OR_ID を使用して、既定のサブスクリプションを構成できます。

--verbose

ログの詳細レベルを上げます。 詳細なデバッグ ログを表示するには --debug を使います。