Condividi tramite


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.

Input

String

Output

Process