Connect-AzSftp
Dieses Cmdlet ist Teil eines Vorschaumoduls . Vorschauversionen werden nicht für die Verwendung in Produktionsumgebungen empfohlen. Weitere Informationen finden Sie unter .
Startet eine interaktive SFTP-Sitzung mit einem Azure Storage-Konto.
Benutzer können sich über Microsoft Entra Konten oder lokale Benutzerkonten über die standardmäßige SSH-Authentifizierung anmelden. Verwenden Sie Microsoft Entra Kontoanmeldung für optimale Sicherheit und Komfort.
Syntax
Default (Standard)
Connect-AzSftp
-StorageAccount <String>
[-Port <Int32>]
[-PrivateKeyFile <String>]
[-PublicKeyFile <String>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
CertificateAuth
Connect-AzSftp
-StorageAccount <String>
-CertificateFile <String>
-PrivateKeyFile <String>
[-Port <Int32>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
PublicKeyAuth
Connect-AzSftp
-StorageAccount <String>
-PublicKeyFile <String>
[-Port <Int32>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
LocalUserAuth
Connect-AzSftp
-StorageAccount <String>
-LocalUser <String>
[-Port <Int32>]
[-PrivateKeyFile <String>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Beschreibung
Starten Sie eine interaktive SFTP-Sitzung mit einem Azure Storage-Konto.
Benutzer können sich mit Microsoft Entra ausgestellten Zertifikaten oder mit lokalen Benutzeranmeldeinformationen anmelden. Wir empfehlen, sich nach Möglichkeit mit Microsoft Entra ausgestellten Zertifikaten anzumelden.
Das Zielspeicherkonto muss SFTP aktiviert und hierarchischen Namespace (HNS) aktiviert haben. Für Microsoft Entra Authentifizierung muss Ihre Microsoft Entra-Identität über entsprechende RBAC-Berechtigungen verfügen, z. B. "Storage Blob Data Contributor" oder "Storage Blob Data Owner".
Beispiele
Beispiel 1: Herstellen einer Verbindung mit Azure Storage Konto mithilfe von Microsoft Entra ausgestellten Zertifikaten
Connect-AzSftp -StorageAccount "mystorageaccount"
Wenn kein -LocalUser angegeben wird, versucht das Cmdlet, sich mit Microsoft Entra ID anzumelden. Dies ist der empfohlene Ansatz, da keine manuelle Zertifikatverwaltung erforderlich ist.
Beispiel 2: Herstellen einer Verbindung mit dem lokalen Benutzer auf Azure Storage Konto mithilfe eines privaten SSH-Schlüssels für die Authentifizierung
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Beispiel 3: Herstellen einer Verbindung mit lokalem Benutzer auf Azure Storage Konto mithilfe eines privaten SSH-Schlüssels für die Authentifizierung
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Beispiel 4: Herstellen einer Verbindung mit lokalem Benutzer auf Azure Storage Konto mithilfe der interaktiven Benutzernamen- und Kennwortauthentifizierung
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser"
Beispiel 5: Herstellen einer Verbindung mit benutzerdefinierter Port- und ausführlicher Ausgabe
Connect-AzSftp -StorageAccount "mystorageaccount" -Port 2022 -SftpArg "-v"
Beispiel 6: Herstellen einer Verbindung mit Batchbefehlen
# Create batch file with SFTP commands
@"
cd uploads
put C:\local\file.txt
ls -la
quit
"@ | Out-File -FilePath "C:\temp\batch.sftp" -Encoding ([System.Text.Encoding]::ASCII)
# Execute batch commands
Connect-AzSftp -StorageAccount "mystorageaccount" -SftpArg "-b", "C:\temp\batch.sftp"
Beispiel 7: Herstellen einer Verbindung mit einem benutzerdefinierten SSH-Clientspeicherort
Connect-AzSftp -StorageAccount "mystorageaccount" -SshClientFolder "C:\Program Files\OpenSSH"
Beispiel 8: Herstellen einer Verbindung mit erweiterten SSH-Optionen
Connect-AzSftp -StorageAccount "mystorageaccount" -SftpArg "-o", "ConnectTimeout=30", "-o", "StrictHostKeyChecking=no", "-v"
Beispiel 9: Herstellen einer Verbindung mit einem Zertifikat von vorhandenen SSH-Schlüsseln
# Use existing SSH keys to generate a certificate automatically
Connect-AzSftp -StorageAccount "mystorageaccount" -PrivateKeyFile "C:\keys\id_rsa" -PublicKeyFile "C:\keys\id_rsa.pub"
Beispiel 10: Behandeln von Authentifizierungsproblemen
# Check Microsoft Entra authentication status
Get-AzContext
# Test certificate generation explicitly
$cert = New-AzSftpCertificate -CertificatePath "C:\temp\test-cert.pub"
Write-Host "Certificate generated: $($cert.CertificatePath)"
Write-Host "Principal: $($cert.Principal)"
# Connect using the generated certificate
Connect-AzSftp -StorageAccount "mystorageaccount" -CertificateFile $cert.CertificatePath -PrivateKeyFile $cert.PrivateKeyPath -SftpArg "-v"
Beispiel 11: Vollständiges Workflowbeispiel
# Generate certificate for SFTP authentication
$cert = New-AzSftpCertificate -CertificatePath "C:\certs\sftp-auth.cert"
# Connect to storage account using the generated certificate
$sftpProcess = Connect-AzSftp -StorageAccount "mystorageaccount" -CertificateFile $cert.CertificatePath -PrivateKeyFile $cert.PrivateKeyPath
# Display connection information
Write-Host "SFTP connection established using certificate: $($cert.CertificatePath)"
Write-Host "Process ID: $($sftpProcess.Id)"
Beispiel 12: Herstellen einer Verbindung mit mehreren Speicherkonten
# Array of storage accounts to connect to
$storageAccounts = @("account1", "account2", "account3")
# Generate a certificate once for reuse
$cert = New-AzSftpCertificate -CertificatePath "C:\certs\shared-cert.cert"
# Connect to each storage account
foreach ($account in $storageAccounts) {
Write-Host "Connecting to $account..."
$process = Connect-AzSftp -StorageAccount $account -CertificateFile $cert.CertificatePath -PrivateKeyFile $cert.PrivateKeyPath -SftpArg "-b", "C:\scripts\sftp-commands.txt"
Write-Host "Connected to $account (Process ID: $($process.Id))"
}
Beispiel 13: Verbinden mit vorhandenem Zertifikat und privatem Schlüssel
Connect-AzSftp -StorageAccount "mystorageaccount" -CertificateFile "C:\certs\azure-sftp.cert" -PrivateKeyFile "C:\certs\azure-sftp-key"
Parameter
-BufferSizeInBytes
Puffergröße in Bytes für SFTP-Dateiübertragungen. Standard: 262144 (256 KB).
Parametereigenschaften
Typ: Int32
Standardwert: 262144
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
(All)
Position: Named
Obligatorisch: False
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-CertificateFile
SSH-Zertifikat, das für die Authentifizierung bei einem lokalen Benutzerkonto verwendet werden soll.
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
CertificateAuth
Position: Named
Obligatorisch: True
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-DefaultProfile
Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.
Parametereigenschaften
Typ: IAzureContextContainer
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Aliase: AzContext, AzureRmContext, AzureCredential
Parametersätze
(All)
Position: Named
Obligatorisch: False
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-LocalUser
Benutzername für einen lokalen Benutzer im Zielspeicherkonto.
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
LocalUserAuth
Position: Named
Obligatorisch: True
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-Port
Portieren, mit dem eine Verbindung auf dem Remotehost hergestellt werden soll.
Parametereigenschaften
Typ: Int32
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
(All)
Position: Named
Obligatorisch: False
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-PrivateKeyFile
Pfad zur Privaten Schlüsseldatei.
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
CertificateAuth
Position: Named
Obligatorisch: True
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-PublicKeyFile
Pfad zur Datei mit öffentlichem Schlüssel.
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
PublicKeyAuth
Position: Named
Obligatorisch: True
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-SftpArg
Zusätzliche SFTP-Argumente, die an OpenSSH übergeben werden.
Parametereigenschaften
Typ: String [ ]
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
(All)
Position: Named
Obligatorisch: False
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-SshClientFolder
Verzeichnis mit SSH-ausführbaren Dateien (ssh-keygen, sftp).
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
(All)
Position: Named
Obligatorisch: False
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
-StorageAccount
Name des Ziel-Azure Storage Kontos.
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
(All)
Position: Named
Obligatorisch: True
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: True
Wert aus verbleibenden Argumenten: False
-StorageAccountEndpoint
Endpunktsuffix des benutzerdefinierten Speicherkontos. Standard: Verwendet endpunktbasiert auf Azure Umgebung (z. B. blob.core.windows.net).
Parametereigenschaften
Typ: String
Standardwert: None
Unterstützt Platzhalter: False
Nicht anzeigen: False
Parametersätze
(All)
Position: Named
Obligatorisch: False
Wert aus Pipeline: False
Wert aus Pipeline nach dem Eigenschaftsnamen: False
Wert aus verbleibenden Argumenten: False
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Ausgaben