使用 SSH 连接到 Windows 或 Linux 工作器节点

适用于:Azure Local 上的 AKS

在 AKS Arc 群集的生命周期内,可能需要直接访问群集节点进行维护、日志收集或故障排除操作。 出于安全考虑,必须使用安全外壳协议 (SSH) 连接来访问 Windows 或 Linux 工作器节点。 使用节点的 IP 地址登录。

本文介绍如何使用 SSH 连接到 Windows 和 Linux 节点。

先决条件

安装 Kubernetes CLI

可以使用 Kubernetes CLI kubectl 连接到 Kubernetes 群集。 如果使用 Azure Cloud Shell,则已安装 kubectl 。 如果在本地运行命令,可以使用 Azure CLI 或 Azure PowerShell 安装 kubectl

使用 SSH 连接到工作器节点

  1. 要使用指定的权限访问 Kubernetes 群,集必须使用 az aksarc get-credentials 命令检索基于证书的管理员 kubeconfig 文件。 有关详细信息,请参阅检索基于证书的管理员 kubeconfig

    az aksarc get-credentials --resource-group $<resource_group_name> --name $<aks_cluster_name> --admin
    
  2. 运行 kubectl get 以获取节点的 IP 地址并记录其 IP 值,以便使用 SSH 登录到 Windows 或 Linux 工作节点:

    kubectl --kubeconfig /path/to/aks-cluster-kubeconfig get nodes -o wide
    
  3. 运行 ssh 以连接到工作器节点:

    注意

    必须将正确的位置传递给 SSH 私钥。 以下示例使用默认位置 ~/.ssh/id_rsa;但如果你请求了其他路径,则可能需要更改此位置。 若要更改位置,请参阅配置 SSH 密钥,以在创建 AKS Arc 群集时指定 --ssh-key-value 参数。

    对于 Linux 工作器节点,运行以下命令:

    ssh -i $env:USERPROFILE\.ssh\id_rsa clouduser@<IP address of the node>
    

    对于 Windows 工作器节点,运行以下命令:

    ssh -i $env:USERPROFILE\.ssh\id_rsa Administrator@<IP address of the node>
    

如果遇到 SSH 登录问题,请验证 IP 地址是否包含在 --ssh-auth-ip 列表中。 若要检查此列表,请运行 az aksarc show --name "$<aks_cluster_name>" --resource-group "$<resource_group_name>" 并在 authorizedIpRanges 下查找 clusterVmAccessProfile

后续步骤