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.

Indata

None

Utdata

Microsoft.Azure.Commands.Sftp.Models.PSCertificateInfo