az ssh
Note
此參考是 Azure CLI 的 SSH 延伸模組的一部分(2.45.0 版或更高版本)。 擴充功能會在您第一次執行 az ssh 命令時自動安裝。 深入了解擴充功能。
使用 AAD 核發的憑證,透過 SSH 連線到資源 (Azure VM、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 |
為支援 OpenSSH 組態和憑證的用戶端,建立資源的 SSH 組態(Azure VM、Arc Server 等)。 |
Extension | GA |
| az ssh vm |
透過 SSH 連線到 Azure VM 或 Arc 伺服器。 |
Extension | GA |
az ssh arc
透過 SSH 連線到 Azure Arc 伺服器。
使用者可以使用 AAD 簽發的憑證或使用本機使用者認證登入。 我們建議使用 AAD 發行的憑證登入。 若要使用本機使用者認證進行 SSH,您必須使用 --local-user 參數提供本機用戶名稱。
az ssh arc [--certificate-file]
[--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
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
憑證檔案的路徑。
本機用戶的用戶名稱。
Arc Server 的名稱。
要連線到遠端主機上的埠。
RSA 私密檔案路徑。
RSA 公鑰檔案路徑。
透過 SSH 啟動 RDP 連線。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
資源組名。 您可以使用 az configure --defaults group=<name>來設定預設群組。
資源類型應該是 Microsoft.HybridCompute/machines 或 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 [--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"
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
要寫入 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
為支援 OpenSSH 組態和憑證的用戶端,建立資源的 SSH 組態(Azure VM、Arc Server 等)。
支援設定 SSH 命令的其他軟體(git/rsync/etc)可以設定為使用配置檔,方法是將命令設定為 'ssh -F /path/to/config',例如 rsync -e 'ssh -F /path/to/config'。 使用者可以建立 SSH 組態檔,以使用 AAD 簽發的憑證或本機用戶認證。
az ssh config --file
[--certificate-file]
[--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 VM 提供公用 IP(或主機名),然後透過 SSH 連線到該 VM
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 在相同資源群組中具有相同名稱時很有用。 資源類型可以是 Arc Server 的 “Microsoft.HybridCompute”,或 Azure 虛擬機的 “Microsoft.Compute”。
az ssh config --resource-type [Microsoft.Compute/virtualMachines|Microsoft.HybridCompute/machines] --resource-group myResourceGroup --name myVM --file ./myconfig
必要參數
要寫入 SSH 組態的檔案路徑。
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
憑證檔案的路徑。
VM 的公用IP位址(或主機名)。
將儲存新產生的金鑰的資料夾。
本機用戶的用戶名稱。
VM 的名稱。
如果設定此旗標,則會覆寫組態檔。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
SSH 埠。
如果有的話,將會使用私人IP。 預設只會使用公用IP。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
RSA 私密檔案路徑。
RSA 公鑰檔案路徑。
資源組名。 您可以使用 az configure --defaults group=<name>來設定預設群組。
資源類型應該是 Microsoft.Compute/virtualMachines、Microsoft.HybridCompute/machines 或 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
透過 SSH 連線到 Azure VM 或 Arc 伺服器。
使用者可以使用 AAD 簽發的憑證或使用本機使用者認證登入。 我們建議使用 AAD 發行的憑證登入。 若要使用本機使用者認證進行 SSH,您必須使用 --local-user 參數提供本機用戶名稱。
az ssh vm [--certificate-file]
[--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 在相同資源群組中具有相同名稱時很有用。 資源類型可以是 Arc Server 的 “Microsoft.HybridCompute”,或 Azure 虛擬機的 “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 用戶端資料夾以使用該資料夾中的 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
選擇性參數
下列參數是選擇性參數,但視內容而定,命令可能需要一或多個參數才能成功執行。
使用本機用戶認證時用於驗證的憑證檔案路徑。
VM 的公用(或可連線的私人)IP 位址(或主機名)。
本機用戶的用戶名稱。
VM 的名稱。
SSH 埠。
會偏好私人IP。 需要連線到私人IP。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
RSA 私密檔案路徑。
RSA 公鑰檔案路徑。
透過 SSH 啟動 RDP 連線。
| 屬性 | 值 |
|---|---|
| 預設值: | False |
資源組名。 您可以使用 az configure --defaults group=<name>來設定預設群組。
資源類型應該是 Microsoft.Compute/virtualMachines、Microsoft.HybridCompute/machines 或 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 |