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.