Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede habilitar conexiones basadas en SSH a servidores habilitados para Arc sin necesidad de una dirección IP pública ni puertos abiertos adicionales. Esta funcionalidad se puede usar de forma interactiva, automatizada o con herramientas basadas en SSH existentes, lo que amplía el impacto de las herramientas de administración existentes en servidores habilitados para Azure Arc.
Ventajas
El acceso SSH a servidores habilitados para Arc proporciona las siguientes ventajas:
- No se requiere ninguna dirección IP pública ni puertos SSH abiertos.
- Acceso a máquinas Windows y Linux.
- Capacidad de iniciar sesión como un usuario local o un usuario de Azure (solo Linux)
- Compatibilidad con otras herramientas basadas en OpenSSH con compatibilidad con archivos de configuración.
Requisitos previos
- Permisos de usuario: rol propietario o colaborador asignado para el servidor habilitado para Arc de destino.
- Servidor habilitado para Arc:
- Versión del Agente híbrido: 1.31.xxxx o posterior
- El servicio SSH ("sshd") debe estar habilitado.
Para Linux, instale openssh-server
a través de un administrador de paquetes. Para comprobar si sshd se ejecuta en Linux, ejecute el siguiente comando:
ps -aux | grep sshd
Para Windows, consulte Habilitar OpenSSH. Puede comprobar si ssh está instalado y en ejecución con los siguientes comandos:
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
# Check the sshd service is running
Get-Service sshd
Autenticación de Microsoft Entra
Si usa Microsoft Entra para la autenticación, debe instalar aadsshlogin
y aadsshlogin-selinux
(según corresponda) en el servidor habilitado para Arc. Estos paquetes se instalan con la extensión de máquina virtual AADSSHLoginForLinux
.
También debe configurar las asignaciones de roles para la máquina virtual (VM). Para autorizar el inicio de sesión de una VM se usan dos roles de Azure:
- Inicio de sesión del administrador de máquinas virtuales: los usuarios que tienen este rol asignado pueden iniciar sesión en una máquina virtual de Azure con privilegios de administrador.
- Inicio de sesión de usuario en máquina virtual: los usuarios que tienen este rol asignado pueden iniciar sesión en una máquina virtual de Azure con privilegios de usuario normales.
Un usuario de Azure con el rol Propietario o Colaborador asignado para una máquina virtual no tiene privilegios automáticamente para el inicio de sesión de Microsoft Entra en la máquina virtual a través de SSH. Hay una separación intencional (y auditada) entre el conjunto de personas que controlan máquinas virtuales frente al conjunto de personas que pueden acceder a las máquinas virtuales.
Nota:
Los roles Inicio de sesión de administrador de máquina virtual e Inicio de sesión de usuario de máquina virtual usan dataActions
y se pueden asignar en el ámbito del grupo de administración, la suscripción, el grupo de recursos o el recurso. Se recomienda asignar los roles en el nivel de grupo de administración, suscripción o recurso, y no en el nivel de máquina virtual individual. Esta práctica evita el riesgo de alcanzar el límite de asignaciones de roles de Azure por suscripción.
Disponibilidad
El acceso SSH a servidores habilitados para Arc se admite actualmente en todas las regiones en la nube compatibles con los servidores habilitados para Arc.
Habilitación del acceso SSH a servidores habilitados para Arc
Para habilitar el acceso SSH a servidores habilitados para Arc, siga los pasos descritos en esta sección.
Registro del proveedor de recursos HybridConnectivity
Nota:
Se trata de una operación única que debe realizarse en cada suscripción.
Compruebe si el proveedor de recursos HybridConnectivity se ha registrado:
az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState
Si el proveedor de recursos no se ha registrado, ejecute el siguiente comando para registrarlo:
az provider register -n Microsoft.HybridConnectivity
La operación puede tardar de 2 a 5 minutos en completarse. Asegúrese de que el registro se complete antes de continuar con el paso siguiente.
Creación de un punto de conexión de conectividad predeterminado
Este paso debe completarse para cada servidor habilitado para Arc. Sin embargo, es posible que no necesite ejecutar estos comandos para hacerlo, ya que debe completarse automáticamente en la primera conexión.
az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{"properties": {"type": "default"}}'
Nota:
Si usa la CLI de Azure de PowerShell, se debe utilizar lo siguiente.
az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15 --body '{\"properties\":{\"type\":\"default\"}}'
Valide la creación de puntos de conexión:
az rest --method get --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15
Instalación de la herramienta de línea de comandos local
La funcionalidad SSH se proporciona en una extensión de la CLI de Azure y en un módulo de Azure PowerShell. Instale la herramienta adecuada para su entorno.
az extension add --name ssh
Habilitación de la funcionalidad en el servidor habilitado para Arc
Para usar la característica de conexión SSH, debe actualizar la configuración del servicio en el punto de conexión de conectividad en el servidor habilitado para Arc para permitir la conexión SSH a un puerto específico. Solo puede permitir la conexión a un único puerto. Las herramientas de la CLI intentan actualizar el puerto permitido en tiempo de ejecución, pero el puerto se puede configurar manualmente con el comando siguiente. Si usa un puerto no predeterminado para la conexión SSH, reemplace el puerto 22 por el puerto deseado.
az rest --method put --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body "{\"properties\": {\"serviceName\": \"SSH\", \"port\": 22}}"
Nota:
Puede haber un retraso después de actualizar la configuración del servicio antes de poder conectarse.
Opcional: Instalar la extensión de inicio de sesión de Microsoft Entra
Para usar Microsoft Entra para la autenticación en las máquinas Linux, debe instalar aadsshlogin
y aadsshlogin-selinux
(según corresponda) en el servidor habilitado para Arc. Estos paquetes se instalan con la extensión de máquina virtual AADSSHLoginForLinux
.
Para agregar esta extensión en Azure Portal, vaya al clúster y, a continuación, en el menú servicio, en Configuración, seleccione Extensiones. Seleccione Agregar y, a continuación, seleccione Inicio de sesión SSH basado en Azure AD: Azure Arc y complete la instalación. También puede instalar la extensión localmente a través de un administrador de paquetes ejecutando apt-get install aadsshlogin
o el siguiente comando:
az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>
Ejemplos
Para ver ejemplos y más detalles, consulte la página de documentación de la CLI de Az para az ssh o la página de documentación de Azure PowerShell para Az.Ssh.
Deshabilitación del acceso SSH a servidores habilitados para Arc
Si necesita quitar el acceso SSH a los servidores habilitados para Arc, siga estos pasos.
Quite el puerto SSH y la funcionalidad del servidor habilitado para Arc:
az rest --method delete --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default/serviceconfigurations/SSH?api-version=2023-03-15 --body '{\"properties\": {\"serviceName\": \"SSH\", \"port\": \"22\"}}'
Elimine el punto de conexión de conectividad predeterminado mediante el siguiente comando:
az rest --method delete --uri https://management.azure.com/subscriptions/<subscription>/resourceGroups/<resourcegroup>/providers/Microsoft.HybridCompute/machines/<arc enabled server name>/providers/Microsoft.HybridConnectivity/endpoints/default?api-version=2023-03-15
Pasos siguientes
- Más información sobre OpenSSH para Windows
- Vea cómo solucionar problemas de acceso SSH a servidores habilitados para Azure Arc.
- Vea cómo solucionar problemas de conexión de agentes.