az ssh
注意
此參考是 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 伺服器。 |
擴充 | GA |
az ssh cert |
建立由 AAD 簽署的 SSH RSA 憑證。 |
擴充 | GA |
az ssh config |
為支援 OpenSSH 組態和憑證的用戶端,建立資源的 SSH 組態(Azure VM、Arc Server 等)。 |
擴充 | GA |
az ssh vm |
透過 SSH 連線到 Azure VM 或 Arc 伺服器。 |
擴充 | GA |
az ssh arc
透過 SSH 連線到 Azure Arc 伺服器。
使用者可以使用 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 用戶端資料夾以使用該資料夾中的 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 連線。
資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>
。
資源類型應該是 Microsoft.HybridCompute/machines 或 Microsoft。連線edVMwareSphere/virtualMachines。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe 等)。 如果未提供,則預設為 SSH 預先安裝。
應儲存 ssh Proxy 的資料夾路徑。 如果未提供,則預設為使用者主目錄中的 .clientsshproxy 資料夾。
更新服務組態而不提示使用者。
傳遞至 OpenSSH 的其他引數。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --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 用戶端資料夾以使用該資料夾中的 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 預先安裝。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
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]
[--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(或主機名稱),然後透過 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 的名稱。
如果設定此旗標,則會覆寫組態檔。
SSH 埠。
如果有的話,將會使用私人 IP。 預設只會使用公用 IP。
RSA 私密金鑰檔案路徑。
RSA 公開金鑰檔案路徑。
資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>
。
資源類型應該是 Microsoft.Compute/virtualMachines、Microsoft.HybridCompute/machines 或 Microsoft。連線edVMwareSphere/virtualMachines。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe 等)。 如果未提供,則預設為 SSH 預先安裝。
應儲存 ssh Proxy 的資料夾路徑。 如果未提供,則預設為使用者主目錄中的 .clientsshproxy 資料夾。
更新服務組態而不提示使用者。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。
az ssh vm
透過 SSH 連線到 Azure VM 或 Arc 伺服器。
使用者可以使用 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 虛擬機器的 「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。
RSA 私密金鑰檔案路徑。
RSA 公開金鑰檔案路徑。
透過 SSH 啟動 RDP 連線。
資源組名。 您可以使用 來設定預設群組 az configure --defaults group=<name>
。
資源類型應該是 Microsoft.Compute/virtualMachines、Microsoft.HybridCompute/machines 或 Microsoft。連線edVMwareSphere/virtualMachines。
包含 ssh 可執行檔的資料夾路徑(ssh.exe、ssh-keygen.exe 等)。 如果未提供,則預設為 SSH 預先安裝。
應儲存 ssh Proxy 的資料夾路徑。 如果未提供,則預設為使用者主目錄中的 .clientsshproxy 資料夾。
更新服務組態而不提示使用者。
傳遞至 OpenSSH 的其他引數。
全域參數
增加記錄詳細資訊,以顯示所有偵錯記錄。
顯示此說明訊息並結束。
只顯示錯誤,隱藏警告。
輸出格式。
JMESPath 查詢字串。 如需詳細資訊和範例,請參閱 http://jmespath.org/。
訂用帳戶的名稱或識別碼。 您可以使用 來設定預設訂用 az account set -s NAME_OR_ID
帳戶。
增加記錄詳細資訊。 使用 --debug 來取得完整偵錯記錄。