Connect-AzSftp
Questo cmdlet fa parte di un modulo di anteprima . Le versioni di anteprima non sono consigliate per l'uso negli ambienti di produzione. Per altre informazioni, vedere .
Avvia una sessione SFTP interattiva in un account Azure Storage.
Gli utenti possono accedere usando account Microsoft Entra o account utente locali tramite l'autenticazione SSH standard. Usare Microsoft Entra account di accesso per la sicurezza e la comodità migliori.
Sintassi
Default (Impostazione predefinita)
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>]
Descrizione
Avviare una sessione SFTP interattiva su un account Azure Storage.
Gli utenti possono accedere usando Microsoft Entra certificati rilasciati o usando le credenziali utente locali. È consigliabile usare Microsoft Entra certificati rilasciati quando possibile.
L'account di archiviazione di destinazione deve avere SFTP abilitato e lo spazio dei nomi gerarchico (HNS) abilitato. Per l'autenticazione Microsoft Entra, l'identità Microsoft Entra deve disporre di autorizzazioni di controllo degli accessi in base al ruolo appropriate, ad esempio Collaboratore ai dati dei BLOB di archiviazione o Proprietario dei dati dei BLOB di archiviazione.
Esempio
Esempio 1: Connettersi all'account Azure Storage usando Microsoft Entra certificati rilasciati
Connect-AzSftp -StorageAccount "mystorageaccount"
Quando non viene specificata una -LocalUser, il cmdlet tenterà di eseguire l'accesso usando Microsoft Entra ID. Questo è l'approccio consigliato perché non richiede alcuna gestione manuale dei certificati.
Esempio 2: Connettersi all'utente locale nell'account Azure Storage usando la chiave privata SSH per l'autenticazione
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Esempio 3: Connettersi all'utente locale nell'account Azure Storage usando la chiave privata SSH per l'autenticazione
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Esempio 4: Connettersi all'utente locale nell'account Azure Storage usando l'autenticazione interattiva del nome utente e della password
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser"
Esempio 5: Connettersi con la porta personalizzata e l'output dettagliato
Connect-AzSftp -StorageAccount "mystorageaccount" -Port 2022 -SftpArg "-v"
Esempio 6: Connettersi con i comandi batch
# 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"
Esempio 7: Connettersi con un percorso client SSH personalizzato
Connect-AzSftp -StorageAccount "mystorageaccount" -SshClientFolder "C:\Program Files\OpenSSH"
Esempio 8: Connettersi con opzioni SSH avanzate
Connect-AzSftp -StorageAccount "mystorageaccount" -SftpArg "-o", "ConnectTimeout=30", "-o", "StrictHostKeyChecking=no", "-v"
Esempio 9: Connettersi con il certificato da chiavi SSH esistenti
# Use existing SSH keys to generate a certificate automatically
Connect-AzSftp -StorageAccount "mystorageaccount" -PrivateKeyFile "C:\keys\id_rsa" -PublicKeyFile "C:\keys\id_rsa.pub"
Esempio 10: Risolvere i problemi di autenticazione
# 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"
Esempio 11: Esempio di flusso di lavoro completo
# 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)"
Esempio 12: Connettersi a più account di archiviazione
# 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))"
}
Esempio 13: Connettersi usando un certificato esistente e una chiave privata
Connect-AzSftp -StorageAccount "mystorageaccount" -CertificateFile "C:\certs\azure-sftp.cert" -PrivateKeyFile "C:\certs\azure-sftp-key"
Parametri
-BufferSizeInBytes
Dimensioni del buffer in byte per i trasferimenti di file SFTP. Impostazione predefinita: 262144 (256 KB).
Proprietà dei parametri
Tipo: Int32
Valore predefinito: 262144
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
(All)
Posizione: Named
Obbligatorio: False
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-CertificateFile
Certificato SSH da usare per l'autenticazione all'account utente locale.
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
CertificateAuth
Posizione: Named
Obbligatorio: True
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-DefaultProfile
Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.
Proprietà dei parametri
Tipo: IAzureContextContainer
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Alias: AzContext, AzureRmContext, AzureCredential
Set di parametri
(All)
Posizione: Named
Obbligatorio: False
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-LocalUser
Nome utente per un utente locale nell'account di archiviazione di destinazione.
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
LocalUserAuth
Posizione: Named
Obbligatorio: True
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-Port
Porta a cui connettersi nell'host remoto.
Proprietà dei parametri
Tipo: Int32
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
(All)
Posizione: Named
Obbligatorio: False
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-PrivateKeyFile
Percorso del file di chiave privata.
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
CertificateAuth
Posizione: Named
Obbligatorio: True
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-PublicKeyFile
Percorso del file di chiave pubblica.
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
PublicKeyAuth
Posizione: Named
Obbligatorio: True
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-SftpArg
Argomenti SFTP aggiuntivi passati a OpenSSH.
Proprietà dei parametri
Tipo: String [ ]
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
(All)
Posizione: Named
Obbligatorio: False
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-SshClientFolder
Directory contenente eseguibili SSH (ssh-keygen, sftp).
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
(All)
Posizione: Named
Obbligatorio: False
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
-StorageAccount
Nome dell'account Azure Storage di destinazione.
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
(All)
Posizione: Named
Obbligatorio: True
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: True
Valore dagli argomenti rimanenti: False
-StorageAccountEndpoint
Suffisso dell'endpoint dell'account di archiviazione personalizzato. Impostazione predefinita: usa l'endpoint in base all'ambiente Azure (ad esempio, blob.core.windows.net).
Proprietà dei parametri
Tipo: String
Valore predefinito: None
Supporta i caratteri jolly: False
DontShow: False
Set di parametri
(All)
Posizione: Named
Obbligatorio: False
Valore dalla pipeline: False
Valore dalla pipeline in base al nome della proprietà: False
Valore dagli argomenti rimanenti: False
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Output