Share via


Accesso SSH ai server abilitati per Azure Arc

SSH per i server abilitati per Arc consente connessioni basate su SSH ai server abilitati per Arc senza richiedere un indirizzo IP pubblico o porte aperte aggiuntive. Questa funzionalità può essere usata in modo interattivo, automatizzato o con strumenti basati su SSH esistenti, consentendo agli strumenti di gestione esistenti di avere un impatto maggiore sui server abilitati per Azure Arc.

Vantaggi chiave

L'accesso SSH ai server abilitati per Arc offre i vantaggi principali seguenti:

  • Non sono necessari indirizzi IP pubblici o porte SSH aperte
  • Accesso ai computer Windows e Linux
  • Possibilità di accedere come utente locale o utente di Azure (solo Linux)
  • Supporto per altri strumenti basati su OpenSSH con supporto per i file di configurazione

Prerequisiti

Per abilitare questa funzionalità, verificare quanto segue:

  • Verificare che il server abilitato per Arc abbia una versione dell'agente ibrido "1.31.xxxx" o versione successiva. Esegui: azcmagent show nel server abilitato per Arc.
  • Verificare che il server abilitato per Arc disponga del servizio "sshd" abilitato. Per i computer openssh-server Linux è possibile installare tramite una gestione pacchetti e deve essere abilitato. SSHD deve essere abilitato in Windows.
  • Assicurarsi di avere assegnato il ruolo Proprietario o Collaboratore.

L'autenticazione con le credenziali di Microsoft Entra presenta requisiti aggiuntivi:

  • aadsshlogin e aadsshlogin-selinux (in base alle esigenze) devono essere installati nel server abilitato per Arc. Questi pacchetti vengono installati con l'estensione della Azure AD based SSH Login – Azure Arc macchina virtuale.

  • Configurare le assegnazioni di ruolo per la macchina virtuale. Per autorizzare l'accesso alla macchina virtuale vengono usati due ruoli di Azure:

    • Accesso alla macchina virtuale Amministrazione istrator: gli utenti con questo ruolo assegnato possono accedere a una macchina virtuale di Azure con privilegi di amministratore.
    • Accesso utente macchina virtuale: gli utenti con questo ruolo assegnato possono accedere a una macchina virtuale di Azure con privilegi utente normali.

    Un utente di Azure a cui è assegnato il ruolo Proprietario o Collaboratore per una macchina virtuale non dispone automaticamente dei privilegi di accesso di Microsoft Entra alla macchina virtuale tramite SSH. Esiste una separazione intenzionale e controllata tra il set di persone che controllano le macchine virtuali e il set di persone che possono accedere alle macchine virtuali.

    Nota

    I ruoli account di accesso e accesso utente macchina virtuale della macchina virtuale Amministrazione istrator usano dataActions e possono essere assegnati nel gruppo di gestione, nella sottoscrizione, nel gruppo di risorse o nell'ambito delle risorse. È consigliabile assegnare i ruoli a livello di gruppo di gestione, sottoscrizione o risorsa e non a livello di singola macchina virtuale. Questa procedura evita il rischio di raggiungere il limite di assegnazioni di ruolo di Azure per sottoscrizione.

Disponibilità

L'accesso SSH ai server abilitati per Arc è attualmente supportato in tutte le aree supportate dai server con abilitazione di Arc con le eccezioni seguenti:

  • Germania centro-occidentale

Introduzione

Registrare il provider di risorse ibrido Connessione ivity

Nota

Si tratta di un'operazione una tantum che deve essere eseguita in ogni sottoscrizione.

Controllare se il provider di risorse hybrid Connessione ivity (RP) è stato registrato:

az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState

Se il punto di ripristino non è stato registrato, eseguire quanto segue:

az provider register -n Microsoft.HybridConnectivity

Il completamento di questa operazione può richiedere 2-5 minuti. Prima di procedere, verificare che il punto di ripristino sia stato registrato.

Creare un endpoint di connettività predefinito

Nota

Il passaggio seguente non dovrà essere eseguito per la maggior parte degli utenti perché dovrebbe essere completato automaticamente alla prima connessione. Questo passaggio deve essere completato per ogni server abilitato per Arc.

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

Se si usa l'interfaccia della riga di comando di Azure da PowerShell, è necessario usare quanto segue.

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\"}}'

Convalidare la creazione dell'endpoint:

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

Installare lo strumento da riga di comando locale

Questa funzionalità è attualmente inserita in un pacchetto in un'estensione dell'interfaccia della riga di comando di Azure e in un modulo di Azure PowerShell.

az extension add --name ssh

Nota

La versione dell'estensione dell'interfaccia della riga di comando di Azure deve essere successiva alla versione 2.0.0.

Abilitare la funzionalità nel server abilitato per Arc

Per usare la funzionalità di connessione SSH, è necessario aggiornare la configurazione del servizio nell'endpoint di Connessione ivity nel server abilitato per Arc per consentire la connessione SSH a una porta specifica. È possibile consentire la connessione a una singola porta. Gli strumenti dell'interfaccia della riga di comando tentano di aggiornare la porta consentita in fase di esecuzione, ma la porta può essere configurata manualmente con quanto segue:

Nota

Potrebbe verificarsi un ritardo dopo l'aggiornamento della configurazione del servizio fino a quando non si è in grado di connettersi.

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}}"

Se si usa una porta non predefinita per la connessione SSH, sostituire la porta 22 con la porta desiderata nel comando precedente.

Facoltativo: installare l'estensione di accesso di Azure AD

L'estensione Azure AD based SSH Login – Azure Arc macchina virtuale può essere aggiunta dal menu delle estensioni del server Arc. L'estensione di accesso di Azure AD può essere installata anche in locale tramite una gestione pacchetti tramite: apt-get install aadsshlogin o il comando seguente.

az connectedmachine extension create --machine-name <arc enabled server name> --resource-group <resourcegroup> --publisher Microsoft.Azure.ActiveDirectory --name AADSSHLogin --type AADSSHLoginForLinux --location <location>

Esempi

Per visualizzare esempi, vedere la pagina della documentazione dell'interfaccia della riga di comando di Az per az ssh o la pagina della documentazione di Azure PowerShell per Az.Ssh.

Passaggi successivi

  • Informazioni su OpenSSH per Windows
  • Informazioni sulla risoluzione dei problemi di accesso SSH ai server abilitati per Azure Arc.
  • Informazioni sulla risoluzione dei problemi di connessione dell'agente.