az ssh
Note
此參考文獻是Azure CLIssh擴充套件(版本 2.45.0 或更高版本)的一部分。 擴充功能會在您第一次執行 az ssh 命令時自動安裝。 深入了解擴充功能。
使用 AAD 頒發的 Openssh 憑證,SSH 連接資源(Azure 虛擬機、Arc 伺服器等)。
SSH 進入支援 Arc 的伺服器,無需公共 IP 位址,或是 SSH 連接 Azure 虛擬機器。 AAD 發行的會開啟憑證以供目前僅支援Linux的驗證。
命令
| 名稱 | Description | 類型 | 狀態 |
|---|---|---|---|
| az ssh arc |
SSH 進入 Azure Arc 伺服器。 |
Extension | GA |
| az ssh cert |
建立由 AAD 簽署的 SSH RSA 憑證。 |
Extension | GA |
| az ssh config |
建立資源(Azure 虛擬機、Arc 伺服器等)的 SSH 設定,讓支援 OpenSSH 設定和憑證的客戶端使用。 |
Extension | GA |
| az ssh vm |
SSH 直接接到 Azure VM 或 Arc 伺服器。 |
Extension | GA |
az ssh arc
2025 年 5 月 21 日,2.0.4 版 <上的任何 ssh arc 命令將不再有效。 請升級至 az ssh version >=2.0.4
SSH 進入 Azure Arc 伺服器。
使用者可以使用 AAD 簽發的憑證或使用本機使用者認證登入。 我們建議使用 AAD 發行的憑證登入。 若要使用本機使用者認證進行 SSH,您必須使用 --local-user 參數提供本機用戶名稱。
az ssh arc [--acquire-policy-token]
[--certificate-file]
[--change-reference]
[--local-user]
[--name --vm-name]
[--port]
[--private-key-file]
[--public-key-file]
[--rdp --winrdp]
[--resource-group]
[--resource-type]
[--ssh-client-folder]
[--ssh-proxy-folder]
[--yes --yes-without-prompt]
[]
範例
使用 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 用戶端資料夾以使用該資料夾中的 ssh 執行檔,例如 ssh-keygen.exe 與 ssh.exe。 若未提供,擴充功能會嘗試使用預先安裝的 OpenSSH 用戶端(在 Windows 上,擴充功能會尋找 C:\Windows\System32\OpenSSH 下的預裝執行檔)。
az ssh arc --resource-group myResourceGroup --name myMachine --ssh-client-folder "C:\Program Files\OpenSSH"
透過 SSH 開啟 RDP 連線。 適用於透過 RDP 連線到沒有公用 IP 位址的 Arc 伺服器。 目前僅支援 Windows 用戶端。
az ssh arc --resource-group myResourceGroup --name myVM --local-user username --rdp
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
自動取得 Azure 原則 令牌以進行此資源操作。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
憑證檔案的路徑。
相關變更的 ID 是為此資源操作所參考的。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
本機用戶的用戶名稱。
Arc Server 的名稱。
要連線到遠端主機上的埠。
RSA 私密檔案路徑。
RSA 公鑰檔案路徑。
透過 SSH 啟動 RDP 連線。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
資源組名。 您可以使用 az configure --defaults group=<name>來設定預設群組。
資源類型應該是 Microsoft。HybridCompute/機器或 Microsoft。ConnectedVMwareSphere/virtualMachines。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe等)。 如果未提供,則預設為 SSH 預安裝。
應儲存 ssh Proxy 的資料夾路徑。 如果未提供,則預設為使用者主目錄中的 .clientsshproxy 資料夾。
更新服務組態而不提示使用者。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
傳遞至 OpenSSH 的其他自變數。
| 屬性 | 值 |
|---|---|
| 參數群組: | Positional |
全域參數
提高日誌詳細程度以顯示所有調試日誌。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
輸出格式。
| 屬性 | 值 |
|---|---|
| 預設值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或標識碼。 您可以使用 az account set -s NAME_OR_ID來設定預設訂用帳戶。
增加記錄的詳細程度。 針對完整偵錯記錄使用 --debug。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
az ssh cert
建立由 AAD 簽署的 SSH RSA 憑證。
az ssh cert [--acquire-policy-token]
[--change-reference]
[--file]
[--public-key-file]
[--ssh-client-folder]
範例
建立 AAD 簽署的短期 SSH 憑證
az ssh cert --public-key-file ./id_rsa.pub --file ./id_rsa-aadcert.pub
提供 SSH 用戶端資料夾以使用該資料夾中的 ssh 執行檔,例如 ssh-keygen.exe。 若未提供,擴充功能會嘗試使用預先安裝的 OpenSSH 用戶端(在 Windows 上,擴充功能會尋找 C:\Windows\System32\OpenSSH 下的預裝執行檔)。
az ssh cert --file ./id_rsa-aadcert.pub --ssh-client-folder "C:\Program Files\OpenSSH"
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
自動取得 Azure 原則 令牌以進行此資源操作。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
相關變更的 ID 是為此資源操作所參考的。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
要寫入 SSH 憑證的檔案路徑,預設為具有 -aadcert.pub appened 的公鑰路徑。
RSA 公鑰檔案路徑。 如果未提供,產生的金鑰組會儲存在與 --file 相同的目錄中。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe等)。 如果未提供,則預設為 SSH 預安裝。
全域參數
提高日誌詳細程度以顯示所有調試日誌。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
輸出格式。
| 屬性 | 值 |
|---|---|
| 預設值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或標識碼。 您可以使用 az account set -s NAME_OR_ID來設定預設訂用帳戶。
增加記錄的詳細程度。 針對完整偵錯記錄使用 --debug。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
az ssh config
2025 年 5 月 21 日,任何連接到 2.0.4 版 <ARC 機器的 ssh 命令將不再有效。 請升級至 az ssh version >=2.0.4
建立資源(Azure 虛擬機、Arc 伺服器等)的 SSH 設定,讓支援 OpenSSH 設定和憑證的客戶端使用。
支援設定 SSH 命令的其他軟體(git/rsync/etc)可以設定為使用配置檔,方法是將命令設定為 'ssh -F /path/to/config',例如 rsync -e 'ssh -F /path/to/config'。 使用者可以建立 SSH 組態檔,以使用 AAD 簽發的憑證或本機用戶認證。
az ssh config --file
[--acquire-policy-token]
[--certificate-file]
[--change-reference]
[--ip]
[--keys-dest-folder --keys-destination-folder]
[--local-user]
[--name --vm-name]
[--overwrite]
[--port]
[--prefer-private-ip]
[--private-key-file]
[--public-key-file]
[--resource-group]
[--resource-type]
[--ssh-client-folder]
[--ssh-proxy-folder]
[--yes --yes-without-prompt]
範例
提供資源群組和計算機名稱,以使用 AAD 簽發的憑證建立設定、儲存在本機檔案中,然後透過 SSH 連線到該資源
az ssh config --resource-group myResourceGroup --name myVm --file ./sshconfig
ssh -F ./sshconfig myResourceGroup-myVM
提供一個 Azure 虛擬機的公開 IP(或主機名稱),用來建立設定,然後用 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 用戶端資料夾以使用該資料夾中的 ssh 執行檔,例如 ssh-keygen.exe。 若未提供,擴充功能會嘗試使用預先安裝的 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 時,這很有用。 資源類型可以是「Microsoft.HybridCompute」用於 Arc 伺服器或「Microsoft」。Compute“ for Azure 虛擬機器.
az ssh config --resource-type [Microsoft.Compute/virtualMachines|Microsoft.HybridCompute/machines] --resource-group myResourceGroup --name myVM --file ./myconfig
必要參數
要寫入 SSH 組態的檔案路徑。
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
自動取得 Azure 原則 令牌以進行此資源操作。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
憑證檔案的路徑。
相關變更的 ID 是為此資源操作所參考的。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
VM 的公用IP位址(或主機名)。
將儲存新產生的金鑰的資料夾。
本機用戶的用戶名稱。
VM 的名稱。
如果設定此旗標,則會覆寫組態檔。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
SSH 埠。
如果有的話,將會使用私人IP。 預設只會使用公用IP。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
RSA 私密檔案路徑。
RSA 公鑰檔案路徑。
資源組名。 您可以使用 az configure --defaults group=<name>來設定預設群組。
資源類型應該是 Microsoft。計算/虛擬機,Microsoft。HybridCompute/機器,或是 Microsoft。ConnectedVMwareSphere/virtualMachines。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe等)。 如果未提供,則預設為 SSH 預安裝。
應儲存 ssh Proxy 的資料夾路徑。 如果未提供,則預設為使用者主目錄中的 .clientsshproxy 資料夾。
更新服務組態而不提示使用者。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
全域參數
提高日誌詳細程度以顯示所有調試日誌。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
輸出格式。
| 屬性 | 值 |
|---|---|
| 預設值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或標識碼。 您可以使用 az account set -s NAME_OR_ID來設定預設訂用帳戶。
增加記錄的詳細程度。 針對完整偵錯記錄使用 --debug。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
az ssh vm
2025 年 5 月 21 日,任何連接到 2.0.4 版 <ARC 機器的 ssh 命令將不再有效。 請升級至 az ssh version >=2.0.4
SSH 直接接到 Azure VM 或 Arc 伺服器。
使用者可以使用 AAD 簽發的憑證或使用本機使用者認證登入。 我們建議使用 AAD 發行的憑證登入。 若要使用本機使用者認證進行 SSH,您必須使用 --local-user 參數提供本機用戶名稱。
az ssh vm [--acquire-policy-token]
[--certificate-file]
[--change-reference]
[--hostname --ip]
[--local-user]
[--name --vm-name]
[--port]
[--prefer-private-ip]
[--private-key-file]
[--public-key-file]
[--rdp --winrdp]
[--resource-group]
[--resource-type]
[--ssh-client-folder]
[--ssh-proxy-folder]
[--yes --yes-without-prompt]
[]
範例
使用 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 時,這很有用。 資源類型可以是「Microsoft.HybridCompute」用於 Arc 伺服器或「Microsoft」。Compute“ for Azure 虛擬機器.
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 用戶端資料夾以使用該資料夾中的 ssh 執行檔,例如 ssh-keygen.exe 與 ssh.exe。 若未提供,擴充功能會嘗試使用預先安裝的 OpenSSH 用戶端(在 Windows 上,擴充功能會尋找 C:\Windows\System32\OpenSSH 下的預裝執行檔)。
az ssh vm --resource-group myResourceGroup --name myVM --ssh-client-folder "C:\Program Files\OpenSSH"
透過 SSH 開啟 RDP 連線。 適用於透過 RDP 連線到沒有公用 IP 位址的 Arc 伺服器。 目前僅支援 Windows 用戶端。
az ssh vm --resource-group myResourceGroup --name myVM --local-user username --rdp
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
自動取得 Azure 原則 令牌以進行此資源操作。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
使用本機用戶認證時用於驗證的憑證檔案路徑。
相關變更的 ID 是為此資源操作所參考的。
| 屬性 | 值 |
|---|---|
| 參數群組: | Global Policy Arguments |
VM 的公用(或可連線的私人)IP 位址(或主機名)。
本機用戶的用戶名稱。
VM 的名稱。
SSH 埠。
會偏好私人IP。 需要連線到私人IP。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
RSA 私密檔案路徑。
RSA 公鑰檔案路徑。
透過 SSH 啟動 RDP 連線。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
資源組名。 您可以使用 az configure --defaults group=<name>來設定預設群組。
資源類型應該是 Microsoft。計算/虛擬機,Microsoft。HybridCompute/機器,或是 Microsoft。ConnectedVMwareSphere/virtualMachines。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe等)。 如果未提供,則預設為 SSH 預安裝。
應儲存 ssh Proxy 的資料夾路徑。 如果未提供,則預設為使用者主目錄中的 .clientsshproxy 資料夾。
更新服務組態而不提示使用者。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
傳遞至 OpenSSH 的其他自變數。
| 屬性 | 值 |
|---|---|
| 參數群組: | Positional |
全域參數
提高日誌詳細程度以顯示所有調試日誌。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
輸出格式。
| 屬性 | 值 |
|---|---|
| 預設值: | json |
| 接受的值: | json, jsonc, none, table, tsv, yaml, yamlc |
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或標識碼。 您可以使用 az account set -s NAME_OR_ID來設定預設訂用帳戶。
增加記錄的詳細程度。 針對完整偵錯記錄使用 --debug。
| 屬性 | 值 |
|---|---|
| 預設值: | False |