Connect-AzSftp
To polecenie cmdlet jest częścią modułu w wersji zapoznawczej . Wersje zapoznawcze nie są zalecane do użycia w środowiskach produkcyjnych. Aby uzyskać więcej informacji, zobacz https://aka.ms/azps-refstatus .
Uruchamia interaktywną sesję SFTP na konto Azure Storage.
Użytkownicy mogą logować się przy użyciu kont Microsoft Entra lub kont użytkowników lokalnych za pośrednictwem standardowego uwierzytelniania SSH. Użyj Microsoft Entra identyfikatora logowania do konta, aby uzyskać najlepsze zabezpieczenia i wygodę.
Składnia
Default (domyślnie)
Connect-AzSftp
[-StorageAccount] <String>
[-Port <Int32>]
[-CertificateFile <String>]
[-PrivateKeyFile <String>]
[-PublicKeyFile <String>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-Force]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
CertificateAuth
Connect-AzSftp
[-StorageAccount] <String>
-CertificateFile <String>
-PrivateKeyFile <String>
[-Port <Int32>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-Force]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
PublicKeyAuth
Connect-AzSftp
[-StorageAccount] <String>
-PublicKeyFile <String>
[-Port <Int32>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-Force]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
LocalUserAuth
Connect-AzSftp
[-StorageAccount] <String>
-LocalUser <String>
[-Port <Int32>]
[-PrivateKeyFile <String>]
[-SftpArg <String[]>]
[-SshClientFolder <String>]
[-BufferSizeInBytes <Int32>]
[-StorageAccountEndpoint <String>]
[-Force]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Opis
Uruchom interaktywną sesję SFTP na konto Azure Storage.
Użytkownicy mogą logować się przy użyciu Microsoft Entra wystawionych certyfikatów lub przy użyciu poświadczeń użytkownika lokalnego. Zalecamy logowanie przy użyciu Microsoft Entra wystawionych certyfikatów, jeśli jest to możliwe.
Docelowe konto magazynu musi mieć włączoną usługę SFTP i włączoną hierarchiczną przestrzeń nazw (HNS). W przypadku uwierzytelniania Microsoft Entra tożsamość Microsoft Entra musi mieć odpowiednie uprawnienia kontroli dostępu opartej na rolach, takie jak współautor danych obiektu blob usługi Storage lub właściciel danych obiektu blob usługi Storage.
Przykłady
Przykład 1. Nawiązywanie połączenia z kontem Azure Storage przy użyciu Microsoft Entra wystawionych certyfikatów
Connect-AzSftp -StorageAccount "mystorageaccount"
Gdy nie podano -LocalUser, polecenie cmdlet podejmie próbę zalogowania się przy użyciu Microsoft Entra ID. Jest to zalecane podejście, ponieważ nie wymaga ręcznego zarządzania certyfikatami.
Przykład 2. Nawiązywanie połączenia z użytkownikiem lokalnym na koncie Azure Storage przy użyciu klucza prywatnego SSH na potrzeby uwierzytelniania
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Przykład 3. Nawiązywanie połączenia z użytkownikiem lokalnym na koncie Azure Storage przy użyciu klucza prywatnego SSH na potrzeby uwierzytelniania
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile "./id_rsa"
Przykład 4. Nawiązywanie połączenia z użytkownikiem lokalnym na koncie Azure Storage przy użyciu interaktywnego uwierzytelniania nazwy użytkownika i hasła
Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser"
Przykład 5. Nawiązywanie połączenia z niestandardowym portem i pełnymi danymi wyjściowymi
Connect-AzSftp -StorageAccount "mystorageaccount" -Port 2022 -SftpArg "-v"
Przykład 6. Nawiązywanie połączenia za pomocą poleceń wsadowych
# 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"
Przykład 7. Nawiązywanie połączenia z niestandardową lokalizacją klienta SSH
Connect-AzSftp -StorageAccount "mystorageaccount" -SshClientFolder "C:\Program Files\OpenSSH"
Przykład 8. Nawiązywanie połączenia z zaawansowanymi opcjami SSH
Connect-AzSftp -StorageAccount "mystorageaccount" -SftpArg "-o", "ConnectTimeout=30", "-o", "StrictHostKeyChecking=no", "-v"
Przykład 9. Nawiązywanie połączenia z certyfikatem z istniejących kluczy SSH
# Use existing SSH keys to generate a certificate automatically
Connect-AzSftp -StorageAccount "mystorageaccount" -PrivateKeyFile "C:\keys\id_rsa" -PublicKeyFile "C:\keys\id_rsa.pub"
Przykład 10: Rozwiązywanie problemów z uwierzytelnianiem
# 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"
Przykład 11. Pełny przykład przepływu pracy
# 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)"
Przykład 12. Nawiązywanie połączenia z wieloma kontami magazynu
# 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))"
}
Przykład 13: Nawiązywanie połączenia przy użyciu istniejącego certyfikatu i klucza prywatnego
Connect-AzSftp -StorageAccount "mystorageaccount" -CertificateFile "C:\certs\azure-sftp.cert" -PrivateKeyFile "C:\certs\azure-sftp-key"
Parametry
-BufferSizeInBytes
Rozmiar buforu w bajtach dla transferów plików SFTP. Ustawienie domyślne: 262144 (256 KB).
Właściwości parametru
Typ: Int32
Domyślna wartość: 262144
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-CertificateFile
Certyfikat SSH używany do uwierzytelniania na koncie użytkownika lokalnego.
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
Default
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-Confirm
Prosi o potwierdzenie przed uruchomieniem cmdletu.
Właściwości parametru
Typ: SwitchParameter
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Aliasy: por
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-DefaultProfile
Poświadczenia, konto, dzierżawa i subskrypcja używane do komunikacji z Azure.
Właściwości parametru
Typ: IAzureContextContainer
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Aliasy: AzContext, AzureRmContext, AzureCredential
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-Force
Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika w celu zastąpienia istniejących par kluczy SSH.
Właściwości parametru
Typ: SwitchParameter
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-LocalUser
Nazwa użytkownika lokalnego na docelowym koncie magazynu.
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
LocalUserAuth
Position: Named
Obowiązkowy: True
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-Port
Port do nawiązania połączenia na hoście zdalnym.
Właściwości parametru
Typ: Nullable<T> [ Int32 ]
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-PrivateKeyFile
Ścieżka do pliku klucza prywatnego.
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
Default
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
LocalUserAuth
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-PublicKeyFile
Ścieżka do pliku klucza publicznego.
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
Default
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-SftpArg
Dodatkowe argumenty SFTP przekazane do protokołu OpenSSH.
Właściwości parametru
Typ: String [ ]
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-SshClientFolder
Katalog zawierający pliki wykonywalne SSH (ssh-keygen, sftp).
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-StorageAccount
Nazwa docelowego konta Azure Storage.
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: 0
Obowiązkowy: True
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-StorageAccountEndpoint
Niestandardowy sufiks punktu końcowego konta magazynu. Ustawienie domyślne: używa punktu końcowego na podstawie środowiska Azure (np. blob.core.windows.net).
Właściwości parametru
Typ: String
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
-WhatIf
Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Cmdlet nie jest uruchomiony.
Właściwości parametru
Typ: SwitchParameter
Domyślna wartość: None
Obsługuje symbole wieloznaczne: False
DontShow: False
Aliasy: Wi
Zestawy parametrów
(All)
Position: Named
Obowiązkowy: False
Wartość z potoku: False
Wartość z potoku według nazwy właściwości: False
Wartość z pozostałych argumentów: False
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters .
Dane wyjściowe