Accesso SSH ai server abilitati per Azure Arc
SSH per i server abilitati per Arc consente le connessioni basate su SSH per i server abilitati per Arc senza richiedere un indirizzo IP pubblico o porte aperte aggiuntive. Questa funzionalità può essere usata in modo interattivo, automatizzata o usata con strumenti basati su SSH esistenti, permettendo 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 seguenti vantaggi chiave:
- Nessuna necessità di indirizzi IP pubblici o porte SSH aperte
- Accesso ai computer Windows e Linux
- Capacità 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:
- Assicurarsi che il server abilitato per Arc disponga di una versione ibrida dell'agente "1.31.xxxx", o successiva. Eseguire:
azcmagent show
nel server abilitato per Arc. - Verificare che nel server abilitato per Arc sia abilitato il servizio "sshd". Per i computer Linux
openssh-server
può essere installato tramite un sistema di gestione pacchetti e deve essere abilitato. SSHD deve essere abilitato su Windows. - Assicurarsi di avere il ruolo di Proprietario o Collaboratore.
L'autenticazione con le credenziali di Microsoft Entra comporta dei requisiti aggiuntivi:
aadsshlogin
eaadsshlogin-selinux
(in base alle esigenze) devono essere installati nel server abilitato per Arc. Questi pacchetti vengono installati con l'estensione della macchina virtualeAzure AD based SSH Login – Azure Arc
.Configurare le assegnazioni di ruolo per la macchina virtuale. Per autorizzare l'accesso alla macchina virtuale vengono usati due ruoli di Azure:
- Accesso amministratore alle macchine virtuali: gli utenti ai quali è stato assegnato questo ruolo possono accedere a una macchina virtuale di Azure con privilegi di amministratore.
- Accesso utente alle macchine virtuali: gli utenti ai quali è stato assegnato questo ruolo possono accedere a una macchina virtuale di Azure con i normali privilegi utente.
Un utente di Azure al quale sia stato assegnato il ruolo di Proprietario o di Collaboratore per una macchina virtuale non dispone automaticamente dei privilegi di accesso a Microsoft Entra per la macchina virtuale su 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 Accesso amministratore alle macchine virtuali e Accesso utente alle macchine virtuali usano
dataActions
e possono essere assegnati al gruppo di gestione, alla sottoscrizione, al gruppo di risorse o all'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 ruoli di Azure per sottoscrizione.
Disponibilità
L'accesso SSH ai server abilitati per Arc è attualmente supportato in tutte le aree cloud pubbliche supportate dai server con abilitazione di Arc.
Nota
Attualmente non è disponibile alcun supporto per i cloud non pubblici.
Introduzione
Registrare il provider di risorse HybridConnectivity
Nota
Si tratta di un'operazione una tantum che deve essere eseguita per ogni sottoscrizione.
Controllare se il provider di risorse HybridConnectivity (RP) è stato registrato:
az provider show -n Microsoft.HybridConnectivity -o tsv --query registrationState
Se RP non è stato registrato, eseguire le operazioni seguenti:
az provider register -n Microsoft.HybridConnectivity
Il completamento di questa operazione può richiedere 2-5 minuti. Prima di procedere, verificare che RP sia stato registrato.
Creare l'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.
- Creare l'endpoint predefinito con l'interfaccia della riga di comando di Azure:
- Creare l'endpoint predefinito con Azure PowerShell:
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 eseguire le seguenti operazioni.
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 privato:
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 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.
- Installare l'estensione dell'interfaccia della riga di comando di Azure
- Installare un modulo 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 connettività nel server abilitato per Arc al fine di 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 runtime, tuttavia è possibile configurare manualmente la porta nel modo seguente:
Nota
Si potrebbe verificare un ritardo dopo l'aggiornamento della configurazione del servizio prima di potersi connettere.
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 specificata nel comando precedente.
Facoltativo: installare l'estensione di accesso di Azure AD
L'estensione Azure AD based SSH Login – Azure Arc
della 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 un sistema di 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 gli esempi, consultare la pagina della documentazione dell'interfaccia della riga di comando di Azure 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.