你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
az ssh
注意
此参考是 Azure CLI(版本 2.45.0 或更高版本)的 ssh 扩展的一部分。 该扩展将在首次运行 az ssh 命令时自动安装。 详细了解扩展。
使用 AAD 颁发的打开证书通过 SSH 连接到资源(Azure VM、Arc 服务器等)。
通过 SSH 连接到已启用 Arc 的服务器,无需公共 IP 地址或 SSH 连接到 Azure 虚拟机。 AAD 颁发的打开证书用于身份验证,目前仅支持 Linux。
命令
名称 | 说明 | 类型 | 状态 |
---|---|---|---|
az ssh arc |
通过 SSH 连接到 Azure Arc 服务器。 |
分机 | GA |
az ssh cert |
创建由 AAD 签名的 SSH RSA 证书。 |
扩展 | GA |
az ssh config |
为支持 OpenSSH 配置和证书的客户端创建资源(Azure VM、Arc 服务器等)的 SSH 配置。然后,这些配置可供支持 OpenSSH 配置和证书的客户端使用。 |
分机 | 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 代理的文件夹的路径。 如果未提供,则默认为用户主目录中的 .clientsshproxy 文件夹。
在不提示用户的情况下更新服务配置。
传递给 OpenSSH 的其他参数。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 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/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。
az ssh config
为支持 OpenSSH 配置和证书的客户端创建资源(Azure VM、Arc 服务器等)的 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
为要为其创建配置,然后通过 ssh 连接到该 VM 的 Azure VM 的公共 IP(或主机名)
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 代理的文件夹的路径。 如果未提供,则默认为用户主目录中的 .clientsshproxy 文件夹。
在不提示用户的情况下更新服务配置。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 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 代理的文件夹的路径。 如果未提供,则默认为用户主目录中的 .clientsshproxy 文件夹。
在不提示用户的情况下更新服务配置。
传递给 OpenSSH 的其他参数。
全局参数
提高日志记录详细程度以显示所有调试日志。
显示此帮助消息并退出。
只显示错误,取消显示警告。
输出格式。
JMESPath 查询字符串。 有关更多信息和示例,请参阅 http://jmespath.org/。
订阅的名称或 ID。 可以使用 az account set -s NAME_OR_ID
配置默认订阅。
提高日志记录详细程度。 使用 --debug 获取完整的调试日志。