New-AzSftpCertificate

Deze cmdlet maakt deel uit van een preview-module . Preview-versies worden niet aanbevolen voor gebruik in productieomgevingen. Zie voor meer informatie.

Genereer SSH-certificaten voor SFTP-verificatie met behulp van Microsoft Entra referenties.

Syntax

Default (Standaard)

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

De New-AzSftpCertificate cmdlet genereert SSH-certificaten voor SFTP-verificatie met behulp van uw huidige Microsoft Entra referenties. Deze cmdlet biedt dezelfde verificatiemethoden en parametersets als de Az.Ssh-module, waardoor consistentie in Azure PowerShell modules wordt gegarandeerd.

De cmdlet ondersteunt vier verificatiemodi die zijn afgestemd op de SSH-module:

Default Mode (Microsoft Entra Authentication): Wanneer er geen specifieke sleutelbestanden worden opgegeven, genereert de cmdlet automatisch een nieuw SSH-sleutelpaar en wordt een certificaat gemaakt dat is ondertekend door de vertrouwde CA van Microsoft Entra. Dit is de eenvoudigste methode om aan de slag te gaan met SFTP-verificatie.

FromPublicKey Mode: Wanneer een bestand met een openbare sleutel wordt opgegeven, genereert de cmdlet een certificaat voor die specifieke sleutel met behulp van Microsoft Entra referenties. Dit is handig wanneer u al openbare SSH-sleutels hebt en deze wilt gebruiken voor Azure Storage SFTP-toegang.

FromPrivateKey Mode: Wanneer een bestand met een persoonlijke sleutel wordt opgegeven, genereert de cmdlet de bijbehorende openbare sleutel en maakt een certificaat met Microsoft Entra referenties. Dit is handig wanneer u bestaande persoonlijke sleutels hebt en certificaten wilt maken.

LocalUser-modus: wanneer een lokale gebruiker is opgegeven, genereert de cmdlet een certificaat dat geschikt is voor lokale gebruikersverificatie op opslagaccounts. Dit kan worden gecombineerd met bestaande persoonlijke sleutels of nieuwe sleutels genereren, die overeenkomen met de lokale gebruikerscertificaatmogelijkheden van de SSH-module.

De gegenereerde certificaten zijn doorgaans 1 uur geldig en kunnen worden gebruikt met elke SFTP-client die SSH-certificaatverificatie ondersteunt. De certificaten worden ondertekend door Microsoft Entra vertrouwde CA en worden geaccepteerd door Azure Storage accounts waar uw Microsoft Entra identiteit de juiste machtigingen heeft.

U moet zijn aangemeld bij Azure met een account met de juiste RBAC-machtigingen (zoals Inzender voor opslagblobgegevens of eigenaar van opslagblobgegevens) voor de doelopslagaccounts.

Voorbeelden

Voorbeeld 1: Certificaat genereren met automatische sleutelgeneratie

New-AzSftpCertificate

Met deze opdracht wordt een nieuw SSH-sleutelpaar gegenereerd en wordt een certificaat gemaakt dat is ondertekend door Microsoft Entra. Het sleutelpaar en certificaat worden opgeslagen in de map systeem temp met automatisch gegenereerde bestandsnamen. Dit is de eenvoudigste manier om aan de slag te gaan met SFTP-verificatie.

Voorbeeld 2: Certificaat genereren met aangepast pad

New-AzSftpCertificate -CertificatePath "C:\certs\azure-sftp.cert"

Met deze opdracht wordt een nieuw SSH-sleutelpaar gegenereerd en wordt een certificaat gemaakt, waarbij het certificaat wordt opgeslagen in het opgegeven pad. De persoonlijke en openbare sleutels worden opgeslagen in dezelfde map met bijbehorende namen (azure-sftp en azure-sftp.pub).

Voorbeeld 3: Certificaat genereren van bestaande persoonlijke sleutel

New-AzSftpCertificate -PrivateKeyFile "C:\keys\id_rsa" -CertificatePath "C:\certs\id_rsa.cert"

Met deze opdracht wordt een certificaat gegenereerd op basis van een bestaande persoonlijke SSH-sleutel. De cmdlet leidt automatisch de openbare sleutel af van de persoonlijke sleutel en maakt een certificaat dat is ondertekend door Microsoft Entra. Dit is handig wanneer u bestaande persoonlijke sleutels hebt en certificaten wilt maken.

Voorbeeld 4: Certificaat genereren van bestaande openbare sleutel

New-AzSftpCertificate -PublicKeyFile "C:\keys\id_rsa.pub" -CertificatePath "C:\certs\id_rsa.cert"

Met deze opdracht wordt een certificaat gegenereerd op basis van een bestaande openbare SSH-sleutel. Dit is handig als u certificaten wilt maken voor bestaande openbare sleutels die al zijn geconfigureerd voor opslagaccounts.

Voorbeeld 5: Certificaat genereren voor lokale gebruikersverificatie

New-AzSftpCertificate -LocalUser "sftpuser" -CertificatePath "C:\certs\localuser.cert"

Met deze opdracht wordt een certificaat gegenereerd dat geschikt is voor lokale gebruikersverificatie voor opslagaccounts. Er wordt een nieuw sleutelpaar gegenereerd en het certificaat is geconfigureerd voor de opgegeven lokale gebruiker. Dit komt overeen met de mogelijkheden voor lokale gebruikersverificatie van de SSH-module.

Voorbeeld 6: Certificaat genereren voor lokale gebruiker met bestaande persoonlijke sleutel

New-AzSftpCertificate -LocalUser "sftpuser" -PrivateKeyFile "C:\keys\existing_key" -CertificatePath "C:\certs\localuser.cert"

Met deze opdracht wordt een certificaat gegenereerd voor lokale gebruikersverificatie met behulp van een bestaande persoonlijke sleutel. Dit is handig als u specifieke sleutels wilt gebruiken voor lokale gebruikersverificatie voor opslagaccounts.

Voorbeeld 7: Certificaat genereren met automatische paden

$cert = New-AzSftpCertificate
Write-Host "Certificate: $($cert.CertificatePath)"
Write-Host "Private Key: $($cert.PrivateKeyPath)"
Write-Host "Valid Until: $($cert.ValidUntil)"

Met deze opdracht wordt een certificaat gegenereerd met automatische sleutelgeneratie en tijdelijke bestandspaden. Het geretourneerde object bevat alle bestandspaden en certificaatgegevens, waardoor het programmatisch eenvoudig te gebruiken is.

Voorbeeld 8: Certificaat genereren en gebruiken met 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)"

In dit voorbeeld ziet u de volledige werkstroom voor het genereren van een certificaat en het onmiddellijk gebruiken voor SFTP-verbinding, met de integratie tussen de twee cmdlets.

Voorbeeld 9: Certificaat genereren met aangepaste SSH-clientlocatie

New-AzSftpCertificate -CertificatePath "C:\certs\custom-cert.pub" -SshClientFolder "C:\Program Files\OpenSSH"

Met deze opdracht wordt een certificaat gegenereerd met behulp van SSH-uitvoerbare bestanden vanaf een specifieke locatie. Dit is handig wanneer u meerdere SSH-implementaties hebt geïnstalleerd of wanneer ssh-keygen zich niet in het standaardPAD bevindt.

Parameters

-CertificatePath

Pad naar het SSH-certificaat schrijven.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-DefaultProfile

De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.

Parametereigenschappen

Type:IAzureContextContainer
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:AzContext, AzureRmContext, AzureCredential

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-LocalUser

Gebruikersnaam voor een lokale gebruiker in het doelopslagaccount.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

LocalUser
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-PrivateKeyFile

Pad naar het bestand met de persoonlijke sleutel.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

FromPrivateKey
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-PublicKeyFile

Pad naar bestand met openbare sleutels.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

FromPublicKey
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-SshClientFolder

Map met SSH-uitvoerbare bestanden (ssh-keygen).

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

None

Uitvoerwaarden

Microsoft.Azure.Commands.Sftp.Models.PSCertificateInfo