Command se connecter avec PuTTY
sans mot de passe via une clés SSH.
Connecter avec PuTTY sans mot de passe via une clé SSH présente plusieurs avantages, notamment en termes de sécurité et de commodité. Voici quelques raisons : Élimination des mots de passe - Authentification à deux facteurs - Protection par phrase de passe - Connexion automatique - Contrôle granulaire
Note : la clé SSH n'a rien à voir avec un certificat SSL !
Il existe plusieurs méthodes en voici une.
Le principe de connexion SSH (Secure Shell)
Le client (par exemple, un utilisateur utilisant PuTTY) initie une connexion au serveur SSH en spécifiant l'adresse IP ou le nom de domaine et le port (généralement le port 22).
Le serveur et le client négocient les protocoles de chiffrement à utiliser pour sécuriser la connexion.
Authentification et échange des clés publiques : Lors de la première connexion, le serveur envoie sa clé publique au client. Le client peut choisir de l'accepter et de l'ajouter à son fichier known_hosts pour vérifier l'identité du serveur lors des connexions futures.
Une fois la connexion établie de manière sécurisée, le client doit s'authentifier auprès du serveur. Ceci peut se faire de plusieurs manières, les plus courantes étant : L'utilisateur entre son mot de passe pour s'authentifier. ou l'utilisateur utilise une paire de clés (privée et publique). La clé publique est déjà placée sur le serveur dans le fichier ~/.ssh/authorized_keys, et le client utilise la clé privée pour s'authentifier.
Établissement du canal sécurisé : Tunnel chiffré : Une fois l'authentification réussie, un tunnel chiffré est établi entre le client et le serveur. Toutes les données transmises via cette connexion sont chiffrées, garantissant la confidentialité et l'intégrité des données.
Certificat
Format | Extension(s) | Usage principal | Encodage |
---|
PEM | .pem , .crt , .cer , .key | Certificats, clés publiques/privées, chaînes de certificats | Base64 |
DER | .der , .crt , .cer | Certificats, principalement sur les systèmes Windows | Binaire |
PKCS#12 | .pfx , .p12 | Stockage de certificats et de clés privées | Binaire |
PKCS#7 | .p7b , .p7c | Chaînes de certificats (sans clé privée) | Base64 ou Binaire |
CER | .cer , .crt | Certificat (clé publique uniquement) | PEM ou DER |
CSR | .csr | Demande de signature de certificat | Base64 (PEM) |
OpenPGP | .asc , .gpg , .pgp | Clés publiques/privées pour le chiffrement PGP | ASCII (asc), Binaire |
JKS | .jks | Stockage de certificats et de clés (Java KeyStore) | Binaire |
SPC | .spc | Certificats pour signer des logiciels | Binaire |
certificats GPG
gpg --full-generate-key
génére une nouvelle paire de clés GPG (GNU Privacy Guard)
gpg --list-keys
liste des certificats GPG
gpg --list-secret-keys
liste des certificats GPG
gpg --export --armor "contact@administralis.fr" > publickey.asc
openssl rsa -pubin -inform PEM -in publickey.asc -outform PEM -out publickey.pem
gpg --export --armor "nom@example.com" > publickey.asc
Exporter la clé publique au format PEM
openssl rsa -pubin -inform PEM -in publickey.asc -outform PEM -out publickey.pem
convertir cette clé publique en format PEM en utilisant OpenSSL
gpg --export-secret-keys --armor "nom@example.com" > privatekey.asc
Exporter la clé privée au format PEM
gpg --export-secret-key --armor "nom@example.com" | \ gpg --dearmor | openssl rsa -inform DER -outform PEM -out privatekey.pem
convertir le fichier au format PEM. GPG stocke la clé privée dans un format qui doit être converti pour être utilisé en tant que clé privée standard (PEM)
Supprimer un certificat :
gpg --list-secret-keys
gpg --list-keys
pub rsa2048 2024-01-01 [SC]
ABCD1234EFGH5678IJKL9012MNO34567PQR89STU
uid [ultimate] Nom de l'utilisateur <email@example.com>
sub rsa2048 2024-01-01 [E]
gpg --delete-key ABCD1234EFGH5678IJKL9012MNO34567PQR89STU
gpg --delete-secret-key ABCD1234EFGH5678IJKL9012MNO34567PQR89STU
ahe19j7rb9f7
certificats avec OpenSSL
openssl genpkey -algorithm RSA -out privatekey.pem -pkeyopt rsa_keygen_bits:2048
openssl genpkey -algorithm RSA -out privatekey.pem -pkeyopt rsa_keygen_bits:2048 -aes256
Génére une paire de clés au format X.509 avec OpenSSL
openssl rsa -pubout -in privatekey.pem -out publickey.pem
Génére une clé publique à partir de la clé privée
openssl pkey -in privatekey.pem -check
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -out certificate.pem -days 365
Générer une paire de clés et un certificat auto-signé avec OpenSSL :
Country Name (2 letter code) [AU]: FR
State or Province Name (full name) [Some-State]: Ile-de-France
Locality Name (eg, city) []: Paris
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Lockness
Organizational Unit Name (eg, section) []: IT Lockness
Common Name (e.g. server FQDN or YOUR name) []: www.lockness-informatique.fr
Email Address []: contact@qmail.fr
gpg --full-generate-key
gpg --list-keys
gpg --list-secret-keys
gpg --export --armor "nom@example.com" > publickey.asc
gpg --export --armor "contact@administralis.fr" > publickey.asc
openssl rsa -pubin -inform PEM -in publickey.asc -outform PEM -out publickey.pem
gpg --export-secret-keys --armor "contact@administralis.fr" > privatekey.asc
gpg --export-secret-keys --armor "nom@example.com" > privatekey.asc
gpg --export-secret-key --armor "nom@example.com" | \gpg --dearmor | openssl rsa -inform DER -outform PEM -out privatekey.pem
openssl pkcs12 -export -out certificate.pfx -inkey privatekey.pem -in publickey.pem -certfile publickey.pem