New-AzSftpCertificate

Cette applet de commande fait partie d’un module en préversion . Les versions en préversion ne sont pas recommandées pour une utilisation dans les environnements de production. Pour plus d’informations, consultez https://aka.ms/azps-refstatus.

Générez des certificats SSH pour l’authentification SFTP à l’aide de Microsoft Entra informations d’identification.

Syntaxe

Default (Par défaut)

New-AzSftpCertificate
    [-CertificatePath <String>]
    [-PrivateKeyFile <String>]
    [-SshClientFolder <String>]
    [-Force]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FromPublicKey

New-AzSftpCertificate
    -PublicKeyFile <String>
    [-CertificatePath <String>]
    [-SshClientFolder <String>]
    [-Force]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FromPrivateKey

New-AzSftpCertificate
    -PrivateKeyFile <String>
    [-CertificatePath <String>]
    [-SshClientFolder <String>]
    [-Force]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

LocalUser

New-AzSftpCertificate
    -LocalUser <String>
    [-CertificatePath <String>]
    [-PrivateKeyFile <String>]
    [-SshClientFolder <String>]
    [-Force]
    [-DefaultProfile <IAzureContextContainer>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande New-AzSftpCertificate génère des certificats SSH pour l’authentification SFTP à l’aide de vos informations d’identification de Microsoft Entra actuelles. Cette applet de commande fournit les mêmes méthodes d’authentification et ensembles de paramètres que le module Az.Ssh, ce qui garantit la cohérence entre les modules Azure PowerShell.

L’applet de commande prend en charge quatre modes d’authentification qui s’alignent sur le module SSH :

Default Mode (authentification Microsoft Entra) : lorsqu'aucun fichier de clé spécifique n'est fourni, l'applet de commande génère automatiquement une nouvelle paire de clés SSH et crée un certificat signé par l'autorité de certification approuvée de Microsoft Entra. Il s’agit de l’approche la plus simple pour bien démarrer avec l’authentification SFTP.

FromPublicKey Mode : lorsqu’un fichier de clé publique est fourni, l’applet de commande génère un certificat pour cette clé spécifique à l’aide de Microsoft Entra informations d’identification. Cela est utile lorsque vous disposez déjà de clés publiques SSH et que vous souhaitez les utiliser pour stockage Azure l’accès SFTP.

FromPrivateKey Mode : lorsqu’un fichier de clé privée est fourni, l’applet de commande génère la clé publique correspondante et crée un certificat à l’aide de Microsoft Entra informations d’identification. Cela est utile lorsque vous disposez de clés privées existantes et que vous souhaitez créer des certificats pour eux.

Mode LocalUser : lorsqu’un utilisateur local est spécifié, l’applet de commande génère un certificat adapté à l’authentification de l’utilisateur local sur les comptes de stockage. Cela peut être combiné avec des clés privées existantes ou générer de nouvelles clés, correspondant aux fonctionnalités de certificat utilisateur local du module SSH.

Les certificats générés sont généralement valides pendant 1 heure et peuvent être utilisés avec n’importe quel client SFTP qui prend en charge l’authentification par certificat SSH. Les certificats sont signés par l'autorité de certification approuvée de Microsoft Entra et sont acceptés par stockage Azure comptes où votre identité Microsoft Entra dispose des autorisations appropriées.

Vous devez être connecté à Azure avec un compte disposant d’autorisations RBAC appropriées (par exemple, contributeur aux données blob de stockage ou propriétaire des données blob de stockage) sur les comptes de stockage cibles.

Exemples

Exemple 1 : Générer un certificat avec la génération automatique de clés

New-AzSftpCertificate

Cette commande génère une nouvelle paire de clés SSH et crée un certificat signé par Microsoft Entra. La paire de clés et le certificat sont enregistrés dans le répertoire temporaire système avec des noms de fichiers générés automatiquement. Il s’agit du moyen le plus simple de bien démarrer avec l’authentification SFTP.

Exemple 2 : Générer un certificat avec un chemin personnalisé

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

Cette commande génère une nouvelle paire de clés SSH et crée un certificat, en enregistrant le certificat dans le chemin spécifié. Les clés privées et publiques seront enregistrées dans le même répertoire avec des noms correspondants (azure-sftp et azure-sftp.pub).

Exemple 3 : Générer un certificat à partir d’une clé privée existante

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

Cette commande génère un certificat à partir d’une clé privée SSH existante. L’applet de commande dérive automatiquement la clé publique de la clé privée et crée un certificat signé par Microsoft Entra. Cela est utile lorsque vous disposez de clés privées existantes et que vous souhaitez créer des certificats pour eux.

Exemple 4 : Générer un certificat à partir d’une clé publique existante

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

Cette commande génère un certificat à partir d’une clé publique SSH existante. Cela est utile lorsque vous souhaitez créer des certificats pour les clés publiques existantes déjà configurées sur les comptes de stockage.

Exemple 5 : Générer un certificat pour l’authentification utilisateur locale

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

Cette commande génère un certificat adapté à l’authentification utilisateur locale sur les comptes de stockage. Une nouvelle paire de clés est générée et le certificat est configuré pour l’utilisateur local spécifié. Cela s’aligne sur les fonctionnalités d’authentification des utilisateurs locaux du module SSH.

Exemple 6 : Générer un certificat pour l’utilisateur local avec une clé privée existante

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

Cette commande génère un certificat pour l’authentification utilisateur locale à l’aide d’une clé privée existante. Cela est utile lorsque vous souhaitez utiliser des clés spécifiques pour l’authentification utilisateur locale sur les comptes de stockage.

Exemple 7 : Générer un certificat avec des chemins automatiques

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

Cette commande génère un certificat avec des chemins automatiques de génération de clés et de fichiers temporaires. L’objet retourné contient tous les chemins d’accès de fichier et les informations de certificat, ce qui facilite l’utilisation par programme.

Exemple 8 : Générer un certificat et utiliser avec 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)"

Cet exemple illustre le flux de travail complet de génération d’un certificat et l’utilise immédiatement pour la connexion SFTP, montrant l’intégration entre les deux applets de commande.

Exemple 9 : Générer un certificat avec un emplacement client SSH personnalisé

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

Cette commande génère un certificat à l’aide d’exécutables SSH à partir d’un emplacement spécifique. Cela est utile lorsque vous avez installé plusieurs implémentations SSH ou lorsque ssh-keygen n’est pas dans le chemin d’accès par défaut.

Paramètres

-CertificatePath

Chemin d’accès à l’écriture d’un certificat SSH.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Fichier de sortie, o

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter l’applet de commande.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Propriétés du paramètre

Type:IAzureContextContainer
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:AzContext, AzureRmContext, AzureCredential

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Force

Force l’exécution de la commande sans demander la confirmation de l’utilisateur pour remplacer les paires de clés SSH existantes.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-LocalUser

Nom d’utilisateur d’un utilisateur local dans le compte de stockage cible.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

LocalUser
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PrivateKeyFile

Chemin d’accès au fichier de clé privée.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:i

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
LocalUser
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-PublicKeyFile

Chemin d’accès au fichier de clé publique.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:p

Jeux de paramètres

FromPublicKey
Position:Named
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-SshClientFolder

Répertoire contenant des exécutables SSH (ssh-keygen).

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Affiche ce qui se passerait si l’applet de commande s’exécute. L’applet de commande ne s’exécute pas.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

None

Sorties

Microsoft.Azure.Commands.Sftp.Models.PSCertificateInfo