Freigeben über


Export-AzSshConfig

Dieses Cmdlet exportiert eine SSH-Konfigurationsdatei, die zum Herstellen einer Verbindung mit Azure-Ressourcen über Clientanwendungen verwendet werden kann, die OpenSSH-Konfiguration und -Zertifikate unterstützen. SSH-Konfigurationsdateien können erstellt werden, die ausgestellte Microsoft Entra-ID oder lokale Benutzeranmeldeinformationen verwenden.

Syntax

Export-AzSshConfig
      -ResourceGroupName <String>
      -Name <String>
      -ConfigFilePath <String>
      [-PublicKeyFile <String>]
      [-PrivateKeyFile <String>]
      [-UsePrivateIp]
      [-LocalUser <String>]
      [-Port <String>]
      [-ResourceType <String>]
      [-CertificateFile <String>]
      [-Overwrite]
      [-KeysDestinationFolder <String>]
      [-Force]
      [-DefaultProfile <IAzureContextContainer>]
      [<CommonParameters>]
Export-AzSshConfig
      -Ip <String>
      -ConfigFilePath <String>
      [-PublicKeyFile <String>]
      [-PrivateKeyFile <String>]
      [-LocalUser <String>]
      [-Port <String>]
      [-CertificateFile <String>]
      [-Overwrite]
      [-KeysDestinationFolder <String>]
      [-Force]
      [-DefaultProfile <IAzureContextContainer>]
      [<CommonParameters>]
Export-AzSshConfig
      -ResourceId <String>
      -ConfigFilePath <String>
      [-PublicKeyFile <String>]
      [-PrivateKeyFile <String>]
      [-UsePrivateIp]
      [-LocalUser <String>]
      [-Port <String>]
      [-CertificateFile <String>]
      [-Overwrite]
      [-KeysDestinationFolder <String>]
      [-Force]
      [-DefaultProfile <IAzureContextContainer>]
      [<CommonParameters>]

Beschreibung

Die exportierte SSH-Konfigurationsdatei kann verwendet werden, um eine Verbindung mit Azure-Ressourcen durch Clientanwendungen herzustellen, die OpenSSH-Konfiguration und -Zertifikate unterstützen. Anwendungen wie Git und rsync können konfigurationsdatei verwenden, indem sie den Befehl auf "ssh -F /path/to/config" festlegen. Beispiel: rsync -e "ssh -F /path/to/config". Benutzer können SSH-Konfigurationsdateien erstellen, die ausgestellte Microsoft Entra-ID oder lokale Benutzeranmeldeinformationen verwenden. Wichtiger Hinweis: Beim Herstellen einer Verbindung mit Azure Arc-Ressourcen muss dieses Cmdlet das Az.Ssh.ArcProxy-Modul auch auf dem Clientcomputer installiert werden. Das Cmdlet versucht, das Modul aus dem PowerShell-Katalog zu installieren, aber der Benutzer hat auch die Möglichkeit, es selbst zu installieren. Es ist wichtig, dass der Benutzer auch über die Berechtigung zum Ausführen der Proxydateien im Az.Ssh.ArcProxy-Modul verfügt oder die Verbindung fehlschlägt. Sie finden das Az.Ssh.ArcServer-Modul im PowerShell-Katalog: https://aka.ms/PowerShellGallery-Az.Ssh.ArcProxy.

Beispiele

Beispiel 1: Exportieren einer SSH-Konfigurationsdatei zum Herstellen einer Verbindung mit einer Ressource mithilfe von Microsoft Entra ID ausgestellten Zertifikaten für die Authentifizierung.

Export-AzSshConfig -ResourceGroupName myRg -Name myMachine -ConfigFilePath ./sshconfig.config

Wenn kein -LocalUser angegeben wird, versucht das Cmdlet, ein Zertifikat für die Anmeldung mithilfe der Microsoft Entra-ID zu erstellen. Dies wird derzeit nur für Ressourcen unterstützt, die das Linux-Betriebssystem ausführen. Bei Verwendung der Microsoft Entra-ID für die Anmeldung bei der Ressource lautet der Hostname im Konfigurationseintrag "{Ressourcengruppenname}-{Ressourcenname}" oder "{ip address}" für Azure-VMs.

Beispiel 2: Exportieren einer SSH-Konfigurationsdatei zum Herstellen einer Verbindung mit der öffentlichen IP eines virtuellen Azure-Computers mithilfe von Microsoft Entra ID ausgestellten Zertifikaten.

Export-AzSshConfig -Ip 1.2.3.4 -ConfigFilePath ./sshconfig.config

Beispiel 3: Exportieren einer SSH-Konfigurationsdatei zum Herstellen einer Verbindung mit lokalen Benutzern auf Azure-Ressource mithilfe von SSH-Zertifikaten für die Authentifizierung

Export-AzSshConfig -ResourceGroupName myRg -Name myVm -LocalUser azureuser -CertificateFile ./cert -PrivateKeyFile ./id_rsa -ConfigFilePath ./sshconfig.config

Wenn Sie lokale Benutzeranmeldeinformationen zum Anmelden verwenden, lautet der Hostname im Konfigurationseintrag "{ressourcengruppenname}-{resource name}-{username}" oder "{ip address}-{username}" für Azure-VMs.

Beispiel 4: Exportieren einer SSH-Konfigurationsdatei zum Herstellen einer Verbindung mit lokalen Benutzern auf Azure-Ressource mithilfe eines privaten SSH-Schlüssels für die Authentifizierung

Export-AzSshConfig -ResourceGroupName myRg -Name myVm -LocalUser azureuser -PrivateKeyFile ./id_rsa -ConfigFilePath ./sshconfig.config

Beispiel 5: Exportieren einer SSH-Konfigurationsdatei zum Herstellen einer Verbindung mit lokalem Benutzer in Azure-Ressource mit interaktivem Benutzernamen und Kennwort für die Authentifizierung

Export-AzSshConfig -ResourceGroupName myRg -Name myVm -LocalUser azureuser -ConfigFilePath ./sshconfig.config

Beispiel 6: Ermitteln, wo generierte Schlüssel und Zertifikate für das Zertifikat gespeichert werden.

Export-AzSshConfig -ResourceGroupName myRg -Name myVm -KeysDestinationFolder /home/user/mykeys -ConfigFilePath ./sshconfig.config

Generierte Schlüssel und Zertifikate werden standardmäßig im Verzeichnis "az_ssh_config" im selben Verzeichnis wie die Konfigurationsdatei gespeichert. Mit dem parameter -KeysDestinationFolder können Benutzer entscheiden, wo die Schlüssel gespeichert werden sollen.

Beispiel 7: Erstellen einer generischen Konfiguration für die Verwendung mit einem beliebigen virtuellen Azure-Computer.

Export-AzSshConfig -Ip * -ConfigFilePath ./sshconfig.config

Beispiel 8: Geben Sie den Ressourcentyp des Ziels an.

Export-AzSshConfig -ResourceGroupName myRg -Name myVm -ResourceType Microsoft.Compute/virtualMachines -ConfigFilePath ./sshconfig.config

Dieser Parameter ist nützlich, wenn mehr als eine unterstützte Ressource mit demselben Namen in der Ressourcengruppe vorhanden ist.

Parameter

-CertificateFile

SSH-Zertifikat, das für die Authentifizierung bei einem lokalen Benutzerkonto verwendet werden soll.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ConfigFilePath

Pfad zum Schreiben der SSH-Konfiguration in.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Force

Wenn Sie eine Verbindung mit Arc-Ressourcen herstellen, werden Sie nicht zur Bestätigung aufgefordert, bevor Sie den zulässigen Port für die SSH-Verbindung im Verbindungsendpunkt aktualisieren, um dem Zielport zu entsprechen, oder wenn erforderlich Az.Ssh.ArcProxy-Modul aus dem PowerShell-Katalog zu installieren.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Ip

IP-Adresse des Azure-Zielcomputers.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-KeysDestinationFolder

Verzeichnis, in dem generierte Schlüssel und Zertifikate gespeichert werden.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-LocalUser

Benutzername für einen lokalen Benutzer in der Zielressource.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Name

Name der Azure-Zielressource.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Overwrite

Überschreiben Sie die Konfigurationsdatei, anstatt einen neuen Eintrag am Ende der Datei anzufügen.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Port

Portieren, mit dem eine Verbindung auf dem Remotehost hergestellt werden soll.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PrivateKeyFile

Pfad zur Privaten Schlüsseldatei.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-PublicKeyFile

Pfad zur Datei mit öffentlichem Schlüssel.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ResourceGroupName

Ressourcengruppenname.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ResourceId

Ressourcen-ID der Zielressource.

Typ:String
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-ResourceType

Ressourcentyp der Zielressource.

Typ:String
Zulässige Werte:Microsoft.HybridCompute/machines, Microsoft.Compute/virtualMachines, Microsoft.ConnectedVMwarevSphere/virtualMachines, Microsoft.ScVmm/virtualMachines, Microsoft.AzureStackHCI/virtualMachines
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-UsePrivateIp

Beim Herstellen einer Verbindung mit einem virtuellen Azure-Computer gibt dieses Flag an, dass eine Verbindung mit einem der privaten IP-Adressen der VM hergestellt werden soll. Es ist eine Verbindung mit der privaten IP erforderlich.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

Ausgaben