New-AzSftpCertificate
Den här cmdleten är en del av en förhandsversionsmodul . Förhandsversioner rekommenderas inte för användning i produktionsmiljöer. Mer information finns i .
Generera SSH-certifikat för SFTP-autentisering med Microsoft Entra autentiseringsuppgifter.
Syntax
Default (Standard)
New-AzSftpCertificate
[-CertificatePath <String>]
[-PrivateKeyFile <String>]
[-SshClientFolder <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
FromPublicKey
New-AzSftpCertificate
-PublicKeyFile <String>
[-CertificatePath <String>]
[-SshClientFolder <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
FromPrivateKey
New-AzSftpCertificate
-PrivateKeyFile <String>
[-CertificatePath <String>]
[-SshClientFolder <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
LocalUser
New-AzSftpCertificate
-LocalUser <String>
[-CertificatePath <String>]
[-PrivateKeyFile <String>]
[-SshClientFolder <String>]
[-DefaultProfile <IAzureContextContainer>]
[<CommonParameters>]
Description
Cmdleten New-AzSftpCertificate genererar SSH-certifikat för SFTP-autentisering med dina aktuella Microsoft Entra autentiseringsuppgifter. Den här cmdleten innehåller samma autentiseringsmetoder och parameteruppsättningar som Az.Ssh-modulen, vilket säkerställer konsekvens mellan Azure PowerShell moduler.
Cmdleten stöder fyra autentiseringslägen som överensstämmer med SSH-modulen:
Default Mode (Microsoft Entra Authentication): När inga specifika nyckelfiler tillhandahålls genererar cmdleten automatiskt ett nytt SSH-nyckelpar och skapar ett certifikat signerat av Microsoft Entra betrodda certifikatutfärdare. Det här är den enklaste metoden för att komma igång med SFTP-autentisering.
FromPublicKey Mode: När en offentlig nyckelfil tillhandahålls genererar cmdleten ett certifikat för den specifika nyckeln med hjälp av Microsoft Entra autentiseringsuppgifter. Detta är användbart när du redan har offentliga SSH-nycklar och vill använda dem för Azure Storage SFTP-åtkomst.
FromPrivateKey Mode: När en privat nyckelfil tillhandahålls genererar cmdleten motsvarande offentliga nyckel och skapar ett certifikat med Microsoft Entra autentiseringsuppgifter. Det här är användbart när du har befintliga privata nycklar och vill skapa certifikat för dem.
LocalUser-läge: När en lokal användare har angetts genererar cmdleten ett certifikat som lämpar sig för lokal användarautentisering på lagringskonton. Detta kan kombineras med befintliga privata nycklar eller generera nya, som matchar SSH-modulens lokala användarcertifikatfunktioner.
De genererade certifikaten är vanligtvis giltiga i 1 timme och kan användas med alla SFTP-klienter som stöder SSH-certifikatautentisering. Certifikaten signeras av Microsoft Entra betrodda certifikatutfärdare och godkänns av Azure Storage konton där din Microsoft Entra identitet har rätt behörigheter.
Du måste vara inloggad på Azure med ett konto som har lämpliga RBAC-behörigheter (till exempel Storage Blob Data Contributor eller Storage Blob Data Owner) på mållagringskontona.
Exempel
Exempel 1: Generera certifikat med automatisk nyckelgenerering
New-AzSftpCertificate
Det här kommandot genererar ett nytt SSH-nyckelpar och skapar ett certifikat signerat av Microsoft Entra. Nyckelparet och certifikatet sparas i system temp-katalogen med automatiskt genererade filnamn. Det här är det enklaste sättet att komma igång med SFTP-autentisering.
Exempel 2: Generera certifikat med anpassad sökväg
New-AzSftpCertificate -CertificatePath "C:\certs\azure-sftp.cert"
Det här kommandot genererar ett nytt SSH-nyckelpar och skapar ett certifikat, vilket sparar certifikatet till den angivna sökvägen. De privata och offentliga nycklarna sparas i samma katalog med motsvarande namn (azure-sftp och azure-sftp.pub).
Exempel 3: Generera certifikat från en befintlig privat nyckel
New-AzSftpCertificate -PrivateKeyFile "C:\keys\id_rsa" -CertificatePath "C:\certs\id_rsa.cert"
Det här kommandot genererar ett certifikat från en befintlig privat SSH-nyckel. Cmdleten härleder automatiskt den offentliga nyckeln från den privata nyckeln och skapar ett certifikat signerat av Microsoft Entra. Detta är användbart när du har befintliga privata nycklar och vill skapa certifikat för dem.
Exempel 4: Generera certifikat från en befintlig offentlig nyckel
New-AzSftpCertificate -PublicKeyFile "C:\keys\id_rsa.pub" -CertificatePath "C:\certs\id_rsa.cert"
Det här kommandot genererar ett certifikat från en befintlig offentlig SSH-nyckel. Detta är användbart när du vill skapa certifikat för befintliga offentliga nycklar som redan har konfigurerats för lagringskonton.
Exempel 5: Generera certifikat för lokal användarautentisering
New-AzSftpCertificate -LocalUser "sftpuser" -CertificatePath "C:\certs\localuser.cert"
Det här kommandot genererar ett certifikat som lämpar sig för lokal användarautentisering på lagringskonton. Ett nytt nyckelpar genereras och certifikatet konfigureras för den angivna lokala användaren. Detta överensstämmer med SSH-modulens autentiseringsfunktioner för lokala användare.
Exempel 6: Generera certifikat för lokal användare med befintlig privat nyckel
New-AzSftpCertificate -LocalUser "sftpuser" -PrivateKeyFile "C:\keys\existing_key" -CertificatePath "C:\certs\localuser.cert"
Det här kommandot genererar ett certifikat för lokal användarautentisering med hjälp av en befintlig privat nyckel. Detta är användbart när du vill använda specifika nycklar för lokal användarautentisering på lagringskonton.
Exempel 7: Generera certifikat med automatiska sökvägar
$cert = New-AzSftpCertificate
Write-Host "Certificate: $($cert.CertificatePath)"
Write-Host "Private Key: $($cert.PrivateKeyPath)"
Write-Host "Valid Until: $($cert.ValidUntil)"
Det här kommandot genererar ett certifikat med automatisk nyckelgenerering och tillfälliga filsökvägar. Det returnerade objektet innehåller alla filsökvägar och certifikatinformation, vilket gör det enkelt att använda programmatiskt.
Exempel 8: Generera certifikat och använda med Connect-AzSftp
# Generate certificate for local user
$cert = New-AzSftpCertificate -LocalUser "sftpuser" -CertificatePath "C:\certs\sftp-auth.cert"
# Use the certificate to connect to storage account
$process = Connect-AzSftp -StorageAccount "mystorageaccount" -LocalUser "sftpuser" -PrivateKeyFile $cert.PrivateKeyPath
# Display connection info
Write-Host "SFTP connection established using certificate: $($cert.CertificatePath)"
Write-Host "Process ID: $($process.Id)"
Det här exemplet visar det fullständiga arbetsflödet för att generera ett certifikat och omedelbart använda det för SFTP-anslutning, som visar integreringen mellan de två cmdletarna.
Exempel 9: Generera certifikat med anpassad SSH-klientplats
New-AzSftpCertificate -CertificatePath "C:\certs\custom-cert.pub" -SshClientFolder "C:\Program Files\OpenSSH"
Det här kommandot genererar ett certifikat med SSH-körbara filer från en specifik plats. Detta är användbart när du har flera SSH-implementeringar installerade eller när ssh-keygen inte finns i standardsökvägen.
Parametrar
-CertificatePath
Sökväg att skriva SSH-certifikat till.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-DefaultProfile
Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure.
Parameteregenskaper
| Typ: | IAzureContextContainer |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
| Alias: | AzContext, AzureRmContext, AzureCredential |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-LocalUser
Användarnamn för en lokal användare i mållagringskontot.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
LocalUser
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-PrivateKeyFile
Sökväg till en privat nyckelfil.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
FromPrivateKey
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-PublicKeyFile
Sökväg till en offentlig nyckelfil.
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
FromPublicKey
| Position: | Named |
| Obligatorisk: | True |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
-SshClientFolder
Katalog som innehåller körbara SSH-filer (ssh-keygen).
Parameteregenskaper
| Typ: | String |
| Standardvärde: | None |
| Stöder jokertecken: | False |
| DontShow: | False |
Parameteruppsättningar
(All)
| Position: | Named |
| Obligatorisk: | False |
| Värde från pipeline: | False |
| Värde från pipeline efter egenskapsnamn: | False |
| Värde från återstående argument: | False |
CommonParameters
Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.