Connessione a una macchina virtuale usando Bastion e il client nativo Di Windows

Questo articolo illustra come connettersi a una macchina virtuale nella rete virtuale usando il client nativo (SSH o RDP) nel computer Windows locale. La funzionalità client nativa consente di connettersi alle macchine virtuali di destinazione tramite Bastion usando l'interfaccia della riga di comando di Azure ed espande le opzioni di accesso per includere la coppia di chiavi SSH locale e l'ID Microsoft Entra. Per altre informazioni e procedure per configurare Bastion per le connessioni client native, vedere Configurare Bastion per le connessioni client native. Connessione ions tramite client nativo richiedono lo SKU Bastion Standard.

Diagram shows a connection via native client.

Dopo aver configurato Bastion per il supporto client nativo, è possibile connettersi a una macchina virtuale usando un client Windows nativo. Il metodo usato per connettersi dipende sia dal client da cui ci si sta connettendo che dalla macchina virtuale a cui ci si connette. L'elenco seguente mostra alcuni dei modi disponibili per connettersi da un client nativo di Windows. Vedere Connessione alle macchine virtuali per l'elenco completo che mostra le combinazioni di connessioni/funzionalità client disponibili.

  • Connessione a una macchina virtuale Windows usando az network bastion rdp.
  • Connessione a una macchina virtuale Linux usando az network bastion ssh.
  • Connessione a una macchina virtuale usando az network bastion tunnel.
  • Caricare e scaricare file tramite RDP.
  • Caricare file tramite SSH usando az network bastion tunnel.

Prerequisiti

Prima di iniziare, verificare di avere i prerequisiti seguenti:

  • Viene installata la versione più recente dei comandi dell'interfaccia della riga di comando (versione 2.32 o successiva). È possibile aggiornare l'interfaccia della riga di comando per Bastion usando az extension update --name bastion. Per informazioni sull'installazione dei comandi dell'interfaccia della riga di comando, vedere Installare l'interfaccia della riga di comando di Azure e Introduzione all'interfaccia della riga di comando di Azure.
  • Azure Bastion è già distribuito e configurato per la rete virtuale. Per la procedura, vedere Configurare Bastion per le connessioni client native.
  • Una macchina virtuale nella rete virtuale.
  • ID risorsa della macchina virtuale. L'ID risorsa può essere facilmente posizionato nella portale di Azure. Passare alla pagina Panoramica per la macchina virtuale e selezionare il collegamento Visualizzazione JSON per aprire il file JSON della risorsa. Copiare l'ID risorsa nella parte superiore della pagina negli Appunti da usare in un secondo momento durante la connessione alla macchina virtuale.
  • Se si prevede di accedere alla macchina virtuale usando le credenziali di Microsoft Entra, assicurarsi che la macchina virtuale sia configurata usando uno dei metodi seguenti:

Verificare ruoli e porte

Verificare che i ruoli e le porte seguenti siano configurati per connettersi alla macchina virtuale.

Ruoli richiesti

  • Ruolo Lettore nella macchina virtuale.

  • Ruolo Lettore nella scheda di interfaccia di rete con l'indirizzo IP privato della macchina virtuale.

  • Ruolo Lettore nella risorsa Azure Bastion.

  • Macchina virtuale Amministrazione istrator Account di accesso o account di accesso utente macchina virtuale, se si usa il metodo di accesso di Microsoft Entra. È necessario eseguire questa operazione solo se si abilita l'accesso a Microsoft Entra usando i processi descritti in uno di questi articoli:

Porte

Per connettersi a una macchina virtuale Linux usando il supporto client nativo, è necessario avere le porte seguenti aperte nella macchina virtuale Linux:

  • Porta in ingresso: SSH (22) o
  • Porta in ingresso: valore personalizzato (sarà quindi necessario specificare questa porta personalizzata quando ci si connette alla macchina virtuale tramite Azure Bastion)

Per connettersi a una macchina virtuale Windows usando il supporto client nativo, è necessario che nella macchina virtuale Windows siano aperte le porte seguenti:

  • Porta in ingresso: RDP (3389) o
  • Porta in ingresso: valore personalizzato (sarà quindi necessario specificare questa porta personalizzata quando ci si connette alla macchina virtuale tramite Azure Bastion)

Per informazioni su come configurare al meglio i gruppi di sicurezza di rete con Azure Bastion, vedere Uso dell'accesso al gruppo di sicurezza di rete e di Azure Bastion.

Connettersi a una macchina virtuale

I passaggi descritti nelle sezioni seguenti consentono di connettersi a una macchina virtuale da un client nativo di Windows usando il comando az network bastion .

RDP in una macchina virtuale Windows

Quando un utente si connette a una macchina virtuale Windows tramite RDP, deve disporre dei diritti per la macchina virtuale di destinazione. Se l'utente non è un amministratore locale, aggiungere l'utente al gruppo Utenti Desktop remoto nella macchina virtuale di destinazione.

  1. Accedere all'account Azure usando az login. Se si dispone di più sottoscrizioni, è possibile visualizzarle usando az account list e selezionare la sottoscrizione contenente la risorsa Bastion usando az account set --subscription "<subscription ID>".

  2. Per connettersi tramite RDP, usare l'esempio seguente.

    az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>"
    
  3. Dopo aver eseguito il comando, viene richiesto di immettere le credenziali. È possibile usare un nome utente e una password locali o le credenziali di Microsoft Entra. Dopo aver eseguito l'accesso alla macchina virtuale di destinazione, il client nativo nel computer viene aperto con la sessione di macchina virtuale tramite MSTSC.

    Importante

    La connessione remota alle macchine virtuali aggiunte a Microsoft Entra ID è consentita solo dai PC Windows 10 o versioni successive registrati (a partire da Windows 10 20H1), aggiunti a Microsoft Entra o aggiunti a Microsoft Entra ibrido alla stessa directory della macchina virtuale.

Specificare il metodo di autenticazione

Facoltativamente, è anche possibile specificare il metodo di autenticazione come parte del comando .

Specificare una porta personalizzata

È possibile specificare una porta personalizzata quando ci si connette a una macchina virtuale Windows tramite RDP.

Uno scenario in cui potrebbe essere particolarmente utile sarebbe la connessione a una macchina virtuale Windows tramite la porta 22. Si tratta di una potenziale soluzione alternativa per la limitazione con il comando az network bastion ssh , che non può essere usato da un client nativo di Windows per connettersi a una macchina virtuale Windows.

Per specificare una porta personalizzata, includere il campo --resource-port nel comando di accesso, come illustrato nell'esempio seguente.

az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId>" --resource-port "22"

RDP a un indirizzo IP della macchina virtuale Windows

È anche possibile connettersi a un indirizzo IP privato della macchina virtuale anziché all'ID risorsa. L'autenticazione di Microsoft Entra e le porte e i protocolli personalizzati non sono supportati quando si usa questo tipo di connessione. Per altre informazioni sulle connessioni basate su IP, vedere Connessione a una macchina virtuale - Indirizzo IP.

Usando il az network bastion comando sostituire --target-resource-id con --target-ip-address e l'indirizzo IP specificato per connettersi alla macchina virtuale.

az network bastion rdp --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>"

Connettersi tramite SSH a una macchina virtuale Linux

  1. Accedere all'account Azure usando az login. Se si dispone di più sottoscrizioni, è possibile visualizzarle usando az account list e selezionare la sottoscrizione contenente la risorsa Bastion usando az account set --subscription "<subscription ID>".

  2. Accedere alla macchina virtuale Linux di destinazione usando una delle opzioni di esempio seguenti. Se si vuole specificare un valore di porta personalizzato, includere il campo --resource-port nel comando di accesso.

    ID Microsoft Entra:

    Se si accede a una macchina virtuale abilitata per l'accesso a Microsoft Entra, usare il comando seguente. Per altre informazioni, vedere MACCHINE virtuali Linux di Azure e ID Microsoft Entra.

    az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "AAD"
    

    Coppia di chiavi SSH:

    L'estensione può essere installata eseguendo . az extension add --name ssh Per accedere usando una coppia di chiavi SSH, usare l'esempio seguente.

    az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"
    

    Nome utente/password:

    Se si esegue l'accesso usando un nome utente e una password locali, usare il comando seguente. Verrà quindi richiesta la password per la macchina virtuale di destinazione.

    az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --auth-type "password" --username "<Username>"
    
  3. Dopo aver eseguito l'accesso alla macchina virtuale di destinazione, il client nativo nel computer si apre con la sessione della macchina virtuale usando l'estensione dell'interfaccia della riga di comando SSH (az ssh).)

Da SSH a un indirizzo IP della macchina virtuale Linux

È anche possibile connettersi a un indirizzo IP privato della macchina virtuale anziché all'ID risorsa. L'autenticazione di Microsoft Entra e le porte e i protocolli personalizzati non sono supportati quando si usa questo tipo di connessione. Per altre informazioni sulle connessioni basate su IP, vedere Connessione a una macchina virtuale - Indirizzo IP.

Usando il az network bastion comando sostituire --target-resource-id con --target-ip-address e l'indirizzo IP specificato per connettersi alla macchina virtuale.

az network bastion ssh --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --auth-type "ssh-key" --username "<Username>" --ssh-key "<Filepath>"

Connessione a una macchina virtuale - Comando tunnel

Il comando az network bastion tunnel è un altro modo per connettersi alle macchine virtuali. Quando si usa questo comando, è possibile eseguire le operazioni seguenti:

  • Connessione dai client nativi in computer locali non Windows. Ad esempio, un computer Linux.
  • Connessione a una macchina virtuale tramite SSH o RDP. Il tunnel bastion non inoltra server Web o host.
  • Usare il client nativo preferito.
  • Caricare i file nella macchina virtuale di destinazione dal computer locale. Il download di file dalla macchina virtuale di destinazione al client locale non è attualmente supportato per questo comando.

Limitazioni :

  • L'accesso con una chiave privata SSH archiviata in Azure Key Vault non è supportato con questa funzionalità. Prima di accedere alla macchina virtuale Linux usando una coppia di chiavi SSH, scaricare la chiave privata in un file nel computer locale.
  • Questa funzionalità non è supportata in Cloud Shell.

Passaggi:

  1. Accedere all'account Azure usando az login. Se si dispone di più sottoscrizioni, è possibile visualizzarle usando az account list e selezionare la sottoscrizione contenente la risorsa Bastion usando az account set --subscription "<subscription ID>".

  2. Aprire il tunnel per la macchina virtuale di destinazione.

    az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-resource-id "<VMResourceId or VMSSInstanceResourceId>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"
    
  3. Connessione alla macchina virtuale di destinazione usando SSH o RDP, il client nativo preferito e la porta del computer locale specificata nel passaggio precedente.

    Ad esempio, è possibile usare il comando seguente se nel computer locale è installato il client OpenSSH:

    ssh <username>@127.0.0.1 -p <LocalMachinePort>
    

Eseguire il tunneling in un indirizzo IP della macchina virtuale

È anche possibile connettersi a un indirizzo IP privato della macchina virtuale anziché all'ID risorsa. L'autenticazione di Microsoft Entra e le porte e i protocolli personalizzati non sono supportati quando si usa questo tipo di connessione. Per altre informazioni sulle connessioni basate su IP, vedere Connessione a una macchina virtuale - Indirizzo IP.

Usando il az network bastion tunnel comando sostituire --target-resource-id con --target-ip-address e l'indirizzo IP specificato per connettersi alla macchina virtuale.

az network bastion tunnel --name "<BastionName>" --resource-group "<ResourceGroupName>" --target-ip-address "<VMIPAddress>" --resource-port "<TargetVMPort>" --port "<LocalMachinePort>"

Tunnel multi-connessione

  1. Aggiungere quanto segue al file $HOME.ssh\config.

    Host tunneltunnel
      HostName 127.0.0.1
      Port 2222
      User mylogin
      StrictHostKeyChecking=No
      UserKnownHostsFile=\\.\NUL
    
  2. Aggiungere la connessione tunnel alla connessione tunnel stabilita.

    az network bastion tunnel --name mybastion --resource-group myrg --target-resource-id /subscriptions/<mysubscription>/resourceGroups/myrg/providers/Microsoft.Compute/virtualMachines/myvm --resource-port 22 --port 22
    
  3. Creare un tunnel SSH nel tunnel bastion.

    ssh -L 2222:127.0.0.1:22 mylogin@127.0.0.1
    
  4. Usare VS Code per connettersi alla connessione tunnel.

Passaggi successivi

Caricare o scaricare file