Freigeben über


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.

Eingaben

String

Ausgaben

Process