Connect-AzSftp
Inicia uma sessão SFTP interativa numa Conta Armazenamento do Azure.
Os utilizadores podem iniciar sessão usando contas Microsoft Entra, ou contas de utilizador locais através da autenticação SSH padrão. Use o login da conta Microsoft Entra para a melhor segurança e conveniência.
Sintaxe
Default (Predefinição)
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>]
Description
Inicie uma sessão interativa SFTP numa conta Armazenamento do Azure.
Os utilizadores podem iniciar sessão usando certificados emitidos pela Microsoft Entra ou usando credenciais locais. Recomendamos iniciar sessão utilizando certificados emitidos pela Microsoft Entra sempre que possível.
A conta de armazenamento de destino deve ter SFTP habilitado e namespace hierárquico (HNS) habilitado. Para a autenticação Microsoft Entra, a sua identidade Microsoft Entra deve ter permissões RBAC apropriadas, como Contribuidor de Dados de Blob de Armazenamento ou Proprietário de Dados de Blob de Armazenamento.
Exemplos
Exemplo 1: Ligue-se à Conta Armazenamento do Azure usando certificados emitidos pela Microsoft Entra
Connect-AzSftp -StorageAccount "mystorageaccount"
Quando não é fornecido um -LocalUser, o cmdlet tenta iniciar sessão usando Microsoft Entra ID. Essa é a abordagem recomendada, pois não requer gerenciamento manual de certificados.
Exemplo 2: Ligue-se ao Utilizador Local na Conta Armazenamento do Azure usando chave privada SSH para autenticação
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Exemplo 3: Ligue-se ao Utilizador Local na Conta Armazenamento do Azure usando chave privada SSH para autenticação
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Exemplo 4: Ligue-se ao Utilizador Local na Conta Armazenamento do Azure usando autenticação interativa de nomes de utilizador e palavra-passe
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser"
Connect-AzSftp -StorageAccount "mystorageaccount" -Port 2022 -SftpArg "-v"
# 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"
Connect-AzSftp -StorageAccount "mystorageaccount" -SshClientFolder "C:\Program Files\OpenSSH"
Connect-AzSftp -StorageAccount "mystorageaccount" -SftpArg "-o", "ConnectTimeout=30", "-o", "StrictHostKeyChecking=no", "-v"
# Use existing SSH keys to generate a certificate automatically
Connect-AzSftp -StorageAccount "mystorageaccount" -PrivateKeyFile "C:\keys\id_rsa" -PublicKeyFile "C:\keys\id_rsa.pub"
Exemplo 10: Solucionar problemas de autenticação
# 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"
Exemplo 11: Exemplo de fluxo de trabalho 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)"
Exemplo 12: Conectar-se a várias contas de armazenamento
# 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))"
}
Exemplo 13: Conectar-se usando o certificado existente e a chave privada
Connect-AzSftp -StorageAccount "mystorageaccount" -CertificateFile "C:\certs\azure-sftp.cert" -PrivateKeyFile "C:\certs\azure-sftp-key"
Parâmetros
-BufferSizeInBytes
Tamanho do buffer em bytes para transferências de ficheiros SFTP. Padrão: 262144 (256 KB).
Propriedades dos parâmetros
Tipo: Int32
Default value: 262144
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: False
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-CertificateFile
Certificado SSH a ser usado para autenticar na conta de usuário local.
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
CertificateAuth
Position: Named
Obrigatório: True
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-DefaultProfile
As credenciais, conta, inquilino e subscrição usados para comunicação com o Azure.
Propriedades dos parâmetros
Tipo: IAzureContextContainer
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Aliases: AzContext, AzureRmContext, AzureCredential
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: False
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-LocalUser
Nome de usuário para um usuário local na conta de armazenamento de destino.
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
LocalUserAuth
Position: Named
Obrigatório: True
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-Port
Porta para se conectar no host remoto.
Propriedades dos parâmetros
Tipo: Int32
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: False
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-PrivateKeyFile
Caminho para o arquivo de chave privada.
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
CertificateAuth
Position: Named
Obrigatório: True
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-PublicKeyFile
Caminho para o arquivo de chave pública.
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
PublicKeyAuth
Position: Named
Obrigatório: True
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-SftpArg
Argumentos SFTP adicionais passados para o OpenSSH.
Propriedades dos parâmetros
Tipo: String [ ]
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: False
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-SshClientFolder
Diretório contendo executáveis SSH (ssh-keygen, sftp).
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: False
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
-StorageAccount
Nome da conta Armazenamento do Azure alvo.
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: True
Valor do pipeline: False
Valor do pipeline por nome de propriedade: True
Valor dos restantes argumentos: False
-StorageAccountEndpoint
Sufixo de endpoint de conta de armazenamento personalizado. Padrão: Usa o endpoint baseado no ambiente Azure (por exemplo, blob.core.windows.net).
Propriedades dos parâmetros
Tipo: String
Default value: None
Suporta carateres universais: False
NãoMostrar: False
Conjuntos de parâmetros
(All)
Position: Named
Obrigatório: False
Valor do pipeline: False
Valor do pipeline por nome de propriedade: False
Valor dos restantes argumentos: False
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters .
Saídas