Par défaut, les ingénieurs se connectent à l'équipement réseau à l'aide d'un nom d'utilisateur et d'un mot de passe. à l'aide de Telnet, les informations d'identification de l'utilisateur sont transmises en texte clair et via SSH, en crypté. Afin de ne pas transmettre la partie secrÚte sur le réseau, l'authentification par clé publique est utilisée. Avec cette authentification, la clé publique de l'utilisateur est pré-affectée à l'utilisateur sur l'équipement. La clé privée n'est pas transmise sur le réseau.Ce guide vous aidera à commencer rapidement à utiliser des clés publiques pour l'authentification lors de la connexion à un équipement réseau à l'aide du protocole SSH. Le guide est applicable à la fois pour Windows et Mac OS X. J'ai essayé de le rendre aussi simple et informatif que possible. Il n'est pas surchargé, mais répond aux questions de base:J'ai également examiné les sujets "douloureux":- Conversion de clé entre OpenSSH <==> SecureCRT <==> PuTTY.
- Utilisation de différentes paires de clés publiques pour différents équipements. Une clé est bonne, mais ne s'applique pas en réalité. Différents clients ou équipements nécessitent différentes paires de clés publiques (certaines avec un mot de passe, d'autres sans).
- Utilisation du MAC OS X natif (natif) pour travailler avec des clés publiques.
- Le guide devrait également aider à utiliser Ansible avec un équipement réseau, car Ansible utilise OpenSSH avec l'authentification par clé publique par défaut.
90% du matériel présenté est testé sur du matériel réel.introduction
Outre l'authentification par mot de passe standard (mot de passe / clavier) dans le protocole SSH, il existe également une authentification par clé publique (RSA).L'authentification à l'aide des clés RSA comprend plusieurs étapes:Pourquoi seulement RSA? Pourquoi pas un DSA? Malheureusement, je n'ai pas trouvé la réponse à cette question (et je ne l'ai pas vraiment recherchée). Mais officiellement, seul RSA est pris en charge sur les équipements Cisco.Guide de configuration de Secure Shell, Cisco IOS version 15E:Guide de configuration de Secure Shell,
restrictions de Cisco IOS version 15E pour la prise en charge de Secure Shell version 2 La
génération de clés Rivest, Shamir et Adleman (RSA) est une exigence cÎté serveur SSH. Les périphériques qui agissent comme des clients SSH n'ont pas besoin de générer de clés RSA.
Tentative de saisie des données de clé DSA:CSR-1(conf-ssh-pubkey-data)#exit
%SSH: Only ssh-rsa type is supported
CSR-1(conf-ssh-pubkey-user)#
Création d'une clé RSA publique
Une paire de clĂ©s RSA peut ĂȘtre créée Ă l'aide de divers utilitaires: SecureCRT, PuTTYgen ou tout autre logiciel. Lors de la crĂ©ation d'une clĂ©, vous pouvez dĂ©finir une phrase secrĂšte (protection par mot de passe avec une clĂ©).GĂ©nĂ©ration de paires RSA dans SecureCRT
SecureCRT -> Outils -> CrĂ©er une clĂ© publique ...:Un peu de thĂ©orie â le bouton "Suivant>":Type de certificat RSA / DSA â SĂ©lectionnez RSA â bouton "Suivant>":Mot de passe de cryptage pour la clĂ© secrĂšte (facultatif, vous pouvez le laisser vide et ne pas crypter) + Commentaire â bouton "Suivant>":Choisissez la longueur de clĂ© (dans SecureCRT version 6.1.0, la longueur de clĂ© maximale est de 2048 bits, dans la version 8.5.4 - 16 384 bits):GĂ©nĂ©ration de clĂ© â bouton "Suivant>": Pour gĂ©nĂ©rer des nombres alĂ©atoires, vous devez dĂ©placer la souris dans la fenĂȘtre.Enregistrement d'une paire de clĂ©s â SĂ©lection d'un emplacement de stockage â SĂ©lection d'un format pour une clĂ© enregistrĂ©e (format VanDuke Private, OpenSSH legacy, OpenSSH new) â Bouton «Terminer»:SecureCRT demande s'il faut faire de cette clĂ© la clĂ© par dĂ©faut de SecureCRT:GĂ©nĂ©ration de paires RSA dans PuTTYgen
Vous pouvez tĂ©lĂ©charger PuTTYgen ici: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html .Lancez PuTTYgen:SĂ©lectionnez les paramĂštres (type de paire: RSA; dimension du bit clĂ©: 2048; dĂ©finissez Ă©ventuellement la phrase secrĂšte (protection par mot de passe avec un mot de passe)) â GĂ©nĂ©rez:Pour garantir des nombres alĂ©atoires, il demande de dĂ©placer la souris dans la fenĂȘtre. Il s'agit d'une protection contre les nombres pseudo alĂ©atoires.Enregistrer les clĂ©s RSA â bouton «Enregistrer la clĂ© privĂ©e»:Remarque: les clĂ©s RSA stockĂ©es dans un format privĂ© dans un logiciel ne peuvent pas ĂȘtre utilisĂ©es dans les logiciels d'un autre fabricant. Autrement dit, une paire de clĂ©s RSA créées dans PuTTYgen et enregistrĂ©es au format Putty Private Key n'est pas adaptĂ©e Ă une utilisation dans SecureCRT, et vice versa. PuTTY ne prend en charge que le format de clĂ© privĂ©e Putty. Une solution universelle pour la distribution des clĂ©s consiste Ă convertir les clĂ©s au format OpenSSH (voir lien 2: «Conversion de Putty en SecureCRT avec des clĂ©s d'authentification»). Depuis SecureCRT fonctionne librement avec le format OpenSSH. Et le logiciel PuTTYgen convertit le format OpenSSH en format Putty Private Key.Conversion d'une clĂ© RSA du format Putty Private Key (PuTTY) au format OpenSSH (SecureCRT)
Pour utiliser des clés RSA dans SecureCRT qui sont générées dans PuTTYgen et enregistrées au format Putty Private Key (* .ppk), nous les exportons à l'aide de PuTTYgen au format OpenSSH:- Lancez PuTTYgen.
- Nous chargeons la clĂ© RSA existante au format Putty Private Key (* .ppk) â Le bouton «Charger».
- Enregistrez le fichier de clĂ© publique â «Enregistrer la clĂ© publique».
- Nous exportons la clĂ© secrĂšte au format OpenSSH: menu PuTTYgen â «Conversions» â «Exporter la clĂ© OpenSSH».
- Nous utilisons des fichiers OpenSSH dans SecureCRT. Le fichier avec la clé publique a l'extension .pub, le fichier avec la clé privée n'a pas d'extension.
Conversion d'une clé RSA du format VanDyke Private Key (SecureCRT) au format Putty Private Key (PuTTY)
Pour utiliser les clés RSA dans PuTTY générées dans SecureCRT et enregistrées au format VanDyke Private Key (fichier de clé publique * .pub, fichier de clé secrÚte *. (Sans extension)), exportez-les à l'aide de SecureCRT au format OpenSSH, puis en utilisant PuTTYgen, nous exportons au format Putty Private Key (* .ppk):- Lancez SecureCRT.
- Menu "Outils" â "Convertir la clĂ© privĂ©e au format OpenSSH ..."
- Sélectionnez le fichier source avec les clés de la clé privée VanDyke.
- Nous enregistrons les clés OpenSSH avec un nouveau nom.
- Lancez PuTTYgen.
- Nous chargeons la clĂ© RSA existante au format OpenSSH (*.): Menu PuTTYgen â "Conversions" â "ClĂ© d'importation".
- Enregistrez le fichier au format Putty: «Enregistrer la clé privée».
Génération de clés publiques sur MAC OS X à l'aide du systÚme d'exploitation
Nous utiliserons l'utilitaire ssh-keygen intégré (man ssh-keygen).Nous générons une clé RSA d'une longueur de 2048 bits avec le nom de la clé, le chemin d'accÚs au dossier avec l'emplacement de stockage de la clé:ssh-keygen -b 2048 -t rsa -c "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
Au moment de l'exécution, le programme vous demandera un mot de passe pour protéger la clé RSA:artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 2048 -t rsa -C "Lab router R4" -f /Users/ArtemiySP/Documents/python/r4
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/ArtemiySP/Documents/python/r4.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r4.pub.
The key fingerprint is:
SHA256:WdT47SFvgGI7danxX94p8/cO3uyU12SB3ipkc7nHxzA Lab router R4
The key's randomart image is:
+---[RSA 2048]----+
| .o |
| .. . . |
| .o + . |
| oo+ B = .|
| .S+ O OEoo|
| o + + B*+|
| . . =.*O|
| .+o**|
| =+O|
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
Nous générons une clé RSA d'une longueur de 4096 bits en indiquant le nom de la clé, le chemin d'accÚs au dossier avec l'emplacement de stockage de clé, nous définissons le mot de passe explicitement dans les paramÚtres de génération de clé (-N "cisco"):artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 4096 -t rsa -C "Lab router R5" -N "cisco" -f /Users/ArtemiySP/Documents/python/r5
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r5.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r5.pub.
The key fingerprint is:
SHA256:NraLRMqB4qmA8qNjKdpBBt1JBw8Osf/3GfuB2k1R+zY Lab router R5
The key's randomart image is:
+---[RSA 4096]----+
| o.+.. |
| . * = |
|. o + . . |
| . o . . |
|. + o . S . . |
|o+.. = o o . . . |
|+oo o o o o o Eo|
|*=.. . o = * . ..|
|Boo. . o =.o |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
ParamÚtres de génération de clés déconseillés: une clé non fiable d'une longueur de 1024 bits, spécifiant le nom de la clé, le chemin d'accÚs au dossier avec l'emplacement de stockage des clés, nous définissons le mot de passe explicitement dans les paramÚtres de génération de clés (-N "" - sans mot de passe):artemiy-2:Downloads ArtemiySP$ ssh-keygen -b 1024 -t rsa -C "Lab router R6" -N "" -f /Users/ArtemiySP/Documents/python/r6
Generating public/private rsa key pair.
Your identification has been saved in /Users/ArtemiySP/Documents/python/r6.
Your public key has been saved in /Users/ArtemiySP/Documents/python/r6.pub.
The key fingerprint is:
SHA256:LEcfgN+58TYMDv4MpBA2FGCWc2aFiY+SxWBf7pRViWs Lab router R6
The key's randomart image is:
+---[RSA 1024]----+
|.++=o*.o+.. |
|.oB % +. o |
| o X * .o... |
|o . = E+.=. |
| . oo+So.* |
| .oo o = |
| + . . |
| o |
| |
+----[SHA256]-----+
artemiy-2:Downloads ArtemiySP$
Ainsi, nous avons créé trois clĂ©s avec les noms des clĂ©s et leur emplacement (par dĂ©faut, toutes les clĂ©s sont stockĂ©es dans / Users / [Username 022 / .ssh).Par dĂ©faut, lors de la connexion via SSH avec authentification par clĂ© publique, toutes les clĂ©s publiques sont stockĂ©es dans l'ordre, qui sont stockĂ©es dans le dossier /Users/[Usernameâ /.ssh.ClĂ© R6: renommez la clĂ© en «id_rsa» (par dĂ©faut, le nom du fichier de clĂ© gĂ©nĂ©rĂ© est «id_rsa») et transfĂ©rez-le dans le dossier avec les clĂ©s SSH (~ / .ssh /) (c'est-Ă -dire que nous effectuerons toutes les Ă©tapes afin que la clĂ© R6 soit utilisĂ©e comme clĂ© principale clĂ© de connexion SSH par dĂ©faut):Convertissez la clĂ© publique OpenSSH au format RFC4716 (exportation vers Cisco IOS):https://serverfault.com/questions/706336/how-to-get-a-pem-file-from-ssh-key-pair
ssh-keygen -f ~/Documents/python/r4.pub -e -m RFC4716
ssh-keygen -f ~/Documents/python/r5.pub -e -m RFC4716
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m RFC4716
Utilisation d'une clé publique sur l'équipement
Comment sur divers équipements pour lier une clé publique à un utilisateur?Le processus de liaison d'une clé publique à un utilisateur n'est pas standard et varie d'un équipement à l'autre. Par conséquent, des exemples sont donnés pour chaque type d'équipement le plus souvent utilisé sur le réseau.Cisco IOS XE, Catalyst (à partir de la version 15.1 et supérieure), IOS
- Il y a déjà un utilisateur sur l'appareil.
- Dans les paramÚtres SSH (ip ssh pubkey-chain) pour l'utilisateur (username cisco), spécifiez la clé publique (key-string):
CSR-1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
CSR-1(config)#ip ssh pubkey-chain
CSR-1(conf-ssh-pubkey)#username ssh-putty
CSR-1(conf-ssh-pubkey-user)#key-string
CSR-1(conf-ssh-pubkey-data)#$QAAAQEAnPbynT1+2rjlyqP4viSPdTVDFLSHzWjJnAwy
CSR-1(conf-ssh-pubkey-data)#$NCfaqvMTPruCgG5096q8lO0ntURmNgmfMEQPOgb8weF
CSR-1(conf-ssh-pubkey-data)#$AtMQYk7WFM+5iBnOQ32UAHNavCUA7YFEpAdOQO4W/qB
CSR-1(conf-ssh-pubkey-data)#$SlOLy+PQ47jDUINBnuUeHd8ZXyzXxWglzSvqtwMEXBW
CSR-1(conf-ssh-pubkey-data)#$VoUTBYbJ45DmFa93P50qf494ujaAsTbYyJ/GBzJUTK/
CSR-1(conf-ssh-pubkey-data)#$UADAkNGxQARfOfHZWiIYb3rif6h6hfwwVUZS/Tw==
CSR-1(conf-ssh-pubkey-data)#exit
CSR-1(conf-ssh-pubkey-user)#exit
CSR-1(conf-ssh-pubkey)#exit
CSR-1(config)#exit
CSR-1#exit
CSR-1#show running-config | inc ssh
username ssh-public-key secret 5 $1$ebjc$EYgwMFQXPPiywFVn6rl7t.
username ssh-putty privilege 15 secret 5 $1$vIhh$nM8iCeBKmLyVK4hA6./h4.
ip ssh pubkey-chain
key-hash ssh-rsa D4E9AD62F7F6265EAAB3FB8778477612
username ssh-public-key
key-hash ssh-rsa C331DEE821A84681A4A7B1862C100D16
username ssh-putty
key-hash ssh-rsa F32BEB60290EA75D151447C0D42D2A99
key-hash ssh-rsa 5432C275B363B646E02D3BA7E8D865B7
CSR-1#
Cisco ASA
LAB-ASA5516-X-01/pri/act# conf t
LAB-ASA5516-X-01/pri/act(config)# username artemiy password artemiy privilege $
LAB-ASA5516-X-01/pri/act(config)# username artemiy attributes
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey ?
username mode commands/options:
WORD Raw SSH-RSA public key
LAB-ASA5516-X-01/pri/act(config-username)# ssh authentication publickey AAAAB3$
Nous insérons la clé entiÚre sur une seule ligne (format OpenSSH).Routeurs et commutateurs Huawei
[R1]rsa peer-public-key test-key1 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[R1-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[R1-rsa-key-code]Subject: Subject
[R1-rsa-key-code]Comment: " Subject@Subject.local"
[R1-rsa-key-code]ModBitSize: 2048
[R1-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[R1-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[R1-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[R1-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[R1-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[R1-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[R1-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[R1-rsa-key-code]public-key-code end
[R1-rsa-public-key]peer-public-key end
[R1]display rsa peer-public-key
=====================================
Key name: test-key1
=====================================
Key Code:
---- BEGIN SSH2 PUBLIC KEY ----
AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
---- END SSH2 PUBLIC KEY ----
aaa
local-user jet privilege level 15
local-user jet service-type telnet terminal ssh http
ssh user jet assign rsa-key test-key1
Types de formats de clés importés vers Huawei:«SecureCRT et PuTTY génÚrent des clés RSA au format PEM.»rsa peer-public-key test-key1 encoding-type pem
"L'OpenSSH génÚre des clés RSA au format OpenSSH."rsa peer-public-key test-key1 encoding-type openssh
"L'OpenSSL génÚre des clés RSA au format DER."rsa peer-public-key test-key1 encoding-type der
La valeur par défaut est en hexadécimal:rsa peer-public-key test-key1
Remarque: l'équipement Huawei prend en charge non seulement les clés au format RSA, mais également d'autres formats:ssh user user-name assign { rsa-key | dsa-key | ecc-key } key-name
Vous pouvez définir de maniÚre rigide le type d'authentification pour l'utilisateur via SSH:[R1]ssh user jet authentication-type ?
all All authentication, password,RSA or ECC
ecc ECC authentication
password Password authentication
password-ecc Both password and ECC
password-rsa Both password and RSA
rsa RSA authentication
[R1]
Autrement dit, nous autorisons l'accÚs à l'aide d'un mot de passe, de clés publiques et privées, ou des deux.Huawei USG (6000)
La configuration est complĂštement similaire aux paramĂštres du routeur, mais possĂšde certaines fonctionnalitĂ©s.Par dĂ©faut, le niveau de privilĂšge aprĂšs la journalisation Ă l'aide de certificats est 0 et ne peut pas ĂȘtre Ă©levĂ©. Par consĂ©quent, le niveau de prioritĂ© est dĂ©fini Ă l'aide deuser-interface vty 0 4
user privilege level 15
user-interface vty 16 20:
user privilege level 15
Exemple:[USG-a]rsa peer-public-key test-key1 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
[USG-a-rsa-public-key]public-key-code begin
Enter "RSA key code" view, return last view with "public-key-code end".
[USG-a-rsa-key-code]---- BEGIN SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]Subject: subject
[USG-a-rsa-key-code]Comment: " subject@subject.local"
[USG-a-rsa-key-code]ModBitSize: 2048
[USG-a-rsa-key-code]AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnx
[USG-a-rsa-key-code]lTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof
[USG-a-rsa-key-code]63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK
[USG-a-rsa-key-code]2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZa
[USG-a-rsa-key-code]yI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTP
[USG-a-rsa-key-code]VdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
[USG-a-rsa-key-code]---- END SSH2 PUBLIC KEY ----
[USG-a-rsa-key-code]public-key-code end
[USG-a-rsa-public-key]peer-public-key end
[USG-a]
[USG-a]ssh user admin assign rsa-key test-key1
! Out-of-band management interface:
[USG-a-GigabitEthernet0/0/0]service-manage ssh permit
! Grant user level 15 privillege:
[USG-a]user-interface vty 0 4
[USG-a-ui-vty0-4]user privilege level 15
Cisco Nexus 9.3
Option 1: pré-installez le fichier de clé publique sur l'appareil et joignez le fichier de clé publique à l'utilisateur.- Copiez le fichier de clé publique sur l'appareil.
- Nous demandons à l'utilisateur d'utiliser le fichier de clé publique.
switch# copy tftp://10.10.1.1/secsh_file.pub bootflash:secsh_file.pub
username User1 sshkey file bootflash:secsh_file.pub
Option 2: copiez la clé publique à l'utilisateur:username User1 sshkey
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4YLFhPqfsz4a6PUpZOtvm6zGn5TWOVMnxlTH5hr/u+aYnoM2XnDTu4Ul1iB8MMPLVKXzV4LgYhaFcU1rz2/yYhTKIwbiQTHof63fJjyWwkvyBuVZTSKh4b2pfoF2mXgdJzzRmUaiRrZZUVJWsX+CbgtKQuktG7sTK2eguHwdfhilbOAsUaL0/q39Y0aTAMnLMtn0m5r6MD/UopQPI3Fxm1L9azJ7zYIZayI43Solg0AOupPl8FHFI9Cxq81/uZRACx5lAyuObaQ4/t1Rdh3CAJj1qwfZjZFTPVdJxwTDxwfkpOzMD193M0ThOSrgfWe336Q9F3jbSWrEYUQDX8ew7
Utilisation d'une clé secrÚte pour la connexion SSH
Cette section est consacrée à la configuration des clients SSH pour l'authentification à l'aide des clés RSA sur l'équipement réseau (ou tout autre équipement, à condition que le matériel et les logiciels prennent en charge l'authentification par clé publique).Nous envisagerons de configurer l'utilisation de la clé publique dans les programmes les plus populaires: SecureCRT et PuTTY.SecureCRT
Il y a une liste d'authentification dans la fenĂȘtre des paramĂštres SSH. Dans ce document, vous devez augmenter la prioritĂ© de PublicKey au plus haut - placez-la en haut de la liste.Ensuite, allez dans les options PublicKey et sĂ©lectionnez le fichier de clĂ© privĂ©e. Le commutateur le plus haut vous permet d'utiliser les paramĂštres globaux de la clĂ© secrĂšte ou des paramĂštres de session - une autre clĂ© secrĂšte (clĂ© non par dĂ©faut) - uniquement pour cette connexion.Configurez la clĂ© publique globale: dans le menu Options â Options globales â CatĂ©gorie SSH2.Mastic
Dans les paramĂštres SSH (Connexion â SSH â Auth) dans le champ «Fichier de clĂ© privĂ©e pour l'authentification», spĂ©cifiez le fichier Putty Private Key (* .ppk):MAC OS X
Configuration d'un client standard pour l'utilisation des clés publiques:- Connexion avec une clé non par défaut spécifiée manuellement:
artemiy-2:~ ArtemiySP$ ssh r4@10.31.73.29 -i ~/Documents/python/r4
The authenticity of host '10.31.73.29 (10.31.73.29)' can't be established.
RSA key fingerprint is SHA256:fxOLFKU6YGyIqisrIh2P0O52Rr6Wx/wsSAcHsTz8fo0.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.29' (RSA) to the list of known hosts.
CSR-4#
- Connexion avec une clé non par défaut spécifiée manuellement:
artemiy-2:~ ArtemiySP$ ssh r5@10.31.73.30 -i ~/Documents/python/r5
The authenticity of host '10.31.73.30 (10.31.73.30)' can't be established.
RSA key fingerprint is SHA256:4l67C4Il4pTaqYT4vrtWr0aY7rPmNWKsjRv2zlYtQIU.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.30' (RSA) to the list of known hosts.
MGTU#exit
Connection to 10.31.73.30 closed.
Exemple d'erreurâ . MAC OS X â .
- Connexion avec la clĂ© par dĂ©faut (clĂ© par dĂ©faut - le systĂšme lui-mĂȘme trouvera et utilisera la clĂ© publique par dĂ©faut):
artemiy-2:~ ArtemiySP$ ssh r6@10.31.73.31
The authenticity of host '10.31.73.31 (10.31.73.31)' can't be established.
RSA key fingerprint is SHA256:2/ysACJQw48Q8S45ody4wna+6nJspcsEU558HiUN43Q.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.31.73.31' (RSA) to the list of known hosts.
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:~ ArtemiySP$
Comment simplifier le travail avec SSH sur MAC OS X:
- Créez des alias SSH.
- Dans les alias SSH, nous définissons immédiatement les utilisateurs.
- Enregistrez immédiatement l'emplacement des clés.
L'emplacement des alias et la configuration SSH prĂ©configurĂ©e sont spĂ©cifiĂ©s dans le fichier ~ / .ssh / config (/Users/[Usernameâ /.ssh/config).Rempli de cette façon:host r4
Hostname 10.31.73.29
Port 22
User r4
IdentityFile ~/Documents/python/r4
host r5
Hostname 10.31.73.30
Port 22
User r5
IdentityFile ~/Documents/python/r5
host r6
Hostname 10.31.73.31
Port 22
User r6
Remarque: ma connexion par défaut est mal configurée (je ne sais pas comment faire correctement), car la connexion à l'hÎte R6 (10.31.73.31) prend trÚs longtemps. Il est recommandé de spécifier immédiatement le chemin d'accÚs à la clé par défaut.Un exemple de connexion ssh utilisant des clés publiques et un fichier de configuration:artemiy-2:Documents ArtemiySP$ ssh r5
MGTU#exit
Connection to 10.31.73.30 closed by remote host.
Connection to 10.31.73.30 closed.
artemiy-2:Documents ArtemiySP$ ssh r4
CSR-4#exit
Connection to 10.31.73.29 closed by remote host.
Connection to 10.31.73.29 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#exit
Connection to 10.31.73.31 closed.
artemiy-2:Documents ArtemiySP$ ssh r6
PR#
Conclusion
Les clĂ©s RSA peuvent ĂȘtre utilisĂ©es pour remplacer l'authentification par mot de passe, mais pas dans tous les cas:- L'authentification par clĂ© publique n'est pas possible si l'authentification de domaine est configurĂ©e (car les requĂȘtes LDAP (kerberos) au serveur sont mandatĂ©es pour l'authentification).
- L'authentification par clé publique sur l'ancien équipement réseau n'est pas possible (exemple: échec de la configuration sur Cisco Catalyst 2960 avec le firmware 12.2).
Les clĂ©s publiques protĂ©gĂ©es par mot de passe sont facilement utilisĂ©es dans les Ă©quipements de banc. InconvĂ©nient: il est nĂ©cessaire d'envoyer un tas de clĂ©s privĂ©es et publiques Ă des collĂšgues et partenaires.Sur certains Ă©quipements, plusieurs paires de clĂ©s publiques peuvent correspondre Ă un utilisateur, sur d'autres Ă©quipements une seule clĂ© publique correspond Ă un utilisateur.Il existe Ă©galement diffĂ©rents formats dans lesquels une paire de clĂ©s publiques et privĂ©es est stockĂ©e. Mais ce guide vous aidera Ă exporter des clĂ©s dans diffĂ©rents formats.Aujourd'hui, il est optimal d'utiliser des clĂ©s d'une longueur de 2048 bits, mais pour certains Ă©quipements, il s'agit de la longueur de clĂ© maximale possible (peut-ĂȘtre que cela sera corrigĂ© dans le nouveau firmware). Par exemple:[R1]rsa peer-public-key test-key2 encoding-type pem
Enter "RSA public key" view, return system view with "peer-public-key end".
NOTE: The number of the bits of public key must be between 769 and 2048.
[R1-rsa-public-key]
Il est recommandé d'utiliser des clés publiques pour remplacer les mots de passe si les mots de passe sont entrés à l'aide de scripts (exemple: connexion automatique dans SecureCRT).Il est recommandé d'utiliser des clés publiques pour se protéger contre la transmission de mots de passe sur le réseau.Certains logiciels utilisent par défaut des clés publiques pour l'authentification SSH au lieu d'un mot de passe (exemple: Ansible).Liste des sources:
- Wikipedia RSA
- Conversion de Putty en SecureCRT avec authentification. clés, SecureCRT Forum
- Guide de configuration Secure Shell, Cisco IOS version 15E
- Télécharger PuTTYgen
- Documentation officielle Huawei - une description des différents formats clés pour l'importation vers un routeur Huawei
- Huawei USG 6000, Configuration de l'authentification par clé publique (CLI: exemple de connexion à la CLI à l'aide de STelnet (authentification RSA))
- Nexus 9000 Configuration guide SSH public key
- man ssh-keygen â mac os x.
- SSH config file MAC OS X
- SSH
- SSH config
- openssh public key RFC4716