{"id":194,"date":"2010-11-23T04:52:05","date_gmt":"2010-11-23T02:52:05","guid":{"rendered":"http:\/\/pro.richardbaret.fr\/?p=194"},"modified":"2012-11-13T12:01:34","modified_gmt":"2012-11-13T11:01:34","slug":"administration-a-distance-via-ssh-et-authentification-par-cle-publique","status":"publish","type":"post","link":"https:\/\/pro.richardbaret.fr\/?p=194","title":{"rendered":"Administration \u00e0 distance via SSH et authentification par cl\u00e9 publique"},"content":{"rendered":"<h1>Installation et configuration d&rsquo;OpenSSH<\/h1>\n<p>Notre serveur est maintenant op\u00e9rationnel, n\u00e9anmoins il est obligatoire d&rsquo;\u00eatre pr\u00e9sent physiquement devant celui-ci pour l&rsquo;administrer. Nous allons changer cela en permettant la connexion depuis une machine distante \u00e0 ce serveur gr\u00e2ce au logiciel SSH, et nous\u00a0compl\u00e9terons\u00a0le tout en permettant de nous authentifier sans saisir de mot de passe par l&rsquo;utilisation d&rsquo;une paire de cl\u00e9s RSA.<\/p>\n<p><!--more-->Installation d&rsquo;openssh-server<\/p>\n<p><code>riri@srv-debian:~$ sudo aptitude install openssh-server<\/code><\/p>\n<p>Aptitude affiche la liste des paquets \u00e0 installer et demande on confirmation, on confirme en tapant y puis en validant. Aptitude t\u00e9l\u00e9charge alors les paquets requis et installe automatiquement openssh-server et ses d\u00e9pendances. Durant le processus d&rsquo;installation openssh g\u00e9n\u00e8re automatiquement une cl\u00e9 RSA et DSA qui serviront \u00e0 chiffrer le trafic entre le client et le serveur. Il est d&rsquo;ores et d\u00e9j\u00e0 possible de se connecter au serveur depuis une machine cliente.<\/p>\n<p>Deux possibilit\u00e9s :<\/p>\n<h2>Machine cliente sous Windows<\/h2>\n<ul style=\"list-style: none;\">\n<li>T\u00e9l\u00e9charger Putty depuis le <a href=\"http:\/\/the.earth.li\/~sgtatham\/putty\/latest\/x86\/putty-0.60-installer.exe\">site officiel<\/a><\/li>\n<li>Installer Putty<\/li>\n<li>Lancer Putty depuis le menu D\u00e9marrer<\/li>\n<li>Configuration de Putty :\n<ul>\n<li>Dans le champ \u00ab\u00a0Host name\u00a0\u00bb, saisir l&rsquo;adresse du serveur. Dans mon cas, 10.0.0.2, pour votre serveur, soit vous connaissez l&rsquo;adresse IP, soit la commande \u00ab\u00a0ifconfig\u00a0\u00bb sur le serveur vous la donnera.<\/li>\n<li>Dans la rubrique \u00ab\u00a0Translation\u00a0\u00bb sous l&rsquo;item \u00ab\u00a0Windows\u00a0\u00bb dans le menu de gauche, choisir \u00ab UTF-8 \u00bb.<\/li>\n<li>Sauvegardez les param\u00e8tres de connexion en revenant dans la rubrique \u00ab\u00a0Session\u00a0\u00bb puis en saisissant un nom pour les param\u00e8tres dans la zone de texte \u00ab\u00a0Saved sessions\u00a0\u00bb (par exemple srv-debian) puis en cliquant sur \u00ab\u00a0Save\u00a0\u00bb<\/li>\n<li>Ne reste plus qu&rsquo;\u00e0 cliquer sur \u00ab\u00a0Open\u00a0\u00bb au bas de la fen\u00eatre pour ouvrir la session sur le serveur.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Machine cliente sous linux<\/h2>\n<ul>\n<li>Si ce n&rsquo;est pas d\u00e9j\u00e0 le cas, installer le paquetage openssh-client (soit via la commande \u00ab\u00a0sudo aptitude install openssh-client\u00a0\u00bb sous d\u00e9bian, soit selon la m\u00e9thode idoine sous un autre OS Linux)<\/li>\n<li>Taper la commande <code>ssh -l nomutilisateur ipduserveur<\/code> et valider.<\/li>\n<li>Accepter la cl\u00e9 h\u00f4te quand le client le demande puis le mot de passe de l&rsquo;utilisateur. Vous \u00eates maintenant connect\u00e9 au serveur !<\/li>\n<\/ul>\n<p>On peut ainsi ouvrir une session avec un nom d&rsquo;utilisateur existant sur le serveur (dans mon cas, riri et root). Il faut d\u00e9sormais configurer le fichier sshd.conf pour s\u00e9curiser notre serveur. Pour cela, on tape<br \/>\n<code>riri@srv-debian:~$ sudo nano \/etc\/ssh\/sshd_config<\/code><br \/>\nVoici le contenu de ce fichier :<br \/>\n<code><br \/>\n# Package generated configuration file<br \/>\n# See the sshd(8) manpage for details<\/code><\/p>\n<p># What ports, IPs and protocols we listen for<br \/>\nPort 22<br \/>\n# Use these options to restrict which interfaces\/protocols sshd will bind to<br \/>\n#ListenAddress ::<br \/>\n#ListenAddress 0.0.0.0<br \/>\nProtocol 2 # Version du protocole utilis\u00e9 par ssh, la version 2 est la plus r\u00e9cente, la v1 est obsol\u00e8te<br \/>\n# HostKeys for protocol version 2<br \/>\nHostKey \/etc\/ssh\/ssh_host_rsa_key #Emplacement de la cl\u00e9 RSA du serveur<br \/>\nHostKey \/etc\/ssh\/ssh_host_dsa_key #Emplacement de la cl\u00e9 DSA du serveur<br \/>\n#Privilege Separation is turned on for security<br \/>\nUsePrivilegeSeparation yes #Sp\u00e9cifie si sshd s\u00e9pare les privil\u00e8ges en cr\u00e9ant un processus fils<br \/>\n#non privil\u00e9gi\u00e9 pour prendre en charge le trafic r\u00e9seau entrant.<br \/>\n#Apr\u00e8s une authentification r\u00e9ussie, un autre processus est cr\u00e9\u00e9<br \/>\n#avec les privil\u00e8ges de l&rsquo;utilisateur authentifi\u00e9. Le but de la s\u00e9paration<br \/>\n#de privil\u00e8ges est d&rsquo;\u00e9viter l&rsquo;escalade de privil\u00e8ges si le processus<br \/>\n#non privil\u00e9gi\u00e9 est corrompu. Par d\u00e9faut \u00ab yes \u00bb.<\/p>\n<p># Lifetime and size of ephemeral version 1 server key<br \/>\nKeyRegenerationInterval 3600 # Utilis\u00e9 dans le cas de l&rsquo;utilisation de la v1 du protocole ssh<br \/>\nServerKeyBits 768<\/p>\n<p># Logging<br \/>\nSyslogFacility AUTH<br \/>\nLogLevel INFO<\/p>\n<p># Authentication:<br \/>\nLoginGraceTime 120 # Temps en secondes avant lequel le serveur coupe la connexion<br \/>\n# si aucune information d&rsquo;authentification n&rsquo;est fournie<br \/>\nPermitRootLogin yes # Autorise la connexion en tant que root. Il faut passer cette option \u00e0 no<br \/>\nStrictModes yes<\/p>\n<p>RSAAuthentication yes<br \/>\nPubkeyAuthentication yes # Autorise l&rsquo;authentification par cl\u00e9 publique<br \/>\n#AuthorizedKeysFile %h\/.ssh\/authorized_keys<\/p>\n<p># Don&rsquo;t read the user&rsquo;s ~\/.rhosts and ~\/.shosts files<br \/>\nIgnoreRhosts yes<br \/>\n# For this to work you will also need host keys in \/etc\/ssh_known_hosts<br \/>\nRhostsRSAAuthentication no<br \/>\n# similar for protocol version 2<br \/>\nHostbasedAuthentication no<br \/>\n# Uncomment if you don&rsquo;t trust ~\/.ssh\/known_hosts for RhostsRSAAuthentication<br \/>\n#IgnoreUserKnownHosts yes<\/p>\n<p># To enable empty passwords, change to yes (NOT RECOMMENDED)<br \/>\nPermitEmptyPasswords no # Emp\u00eache l&rsquo;utilisation de mots de passe vides<\/p>\n<p># Change to yes to enable challenge-response passwords (beware issues with<br \/>\n# some PAM modules and threads)<br \/>\nChallengeResponseAuthentication no<\/p>\n<p># Change to no to disable tunnelled clear text passwords<br \/>\n#PasswordAuthentication yes<\/p>\n<p># Kerberos options<br \/>\n#KerberosAuthentication no<br \/>\n#KerberosGetAFSToken no<br \/>\n#KerberosOrLocalPasswd yes<br \/>\n#KerberosTicketCleanup yes<\/p>\n<p># GSSAPI options<br \/>\n#GSSAPIAuthentication no<br \/>\n#GSSAPICleanupCredentials yes<\/p>\n<p>X11Forwarding yes # Permet de d\u00e9porter l&rsquo;affichage graphique du serveur sur le client<br \/>\nX11DisplayOffset 10<br \/>\nPrintMotd no<br \/>\nPrintLastLog yes<br \/>\nTCPKeepAlive yes # Maintient la connexion ouverte<br \/>\n#UseLogin no<\/p>\n<p>#MaxStartups 10:30:60<br \/>\n#Banner \/etc\/issue.net<\/p>\n<p># Allow client to pass locale environment variables<br \/>\nAcceptEnv LANG LC_*<\/p>\n<p># Sous syst\u00e8me SFTP pour le transfert de fichiers<br \/>\nSubsystem sftp \/usr\/lib\/openssh\/sftp-server<\/p>\n<p>UsePAM yes<\/p>\n<p>&nbsp;<\/p>\n<p>On change la valeur de la ligne <code>PermitRootLogin<\/code> de \u00ab\u00a0yes\u00a0\u00bb \u00e0 \u00ab\u00a0no\u00a0\u00bb. On enregistre en faisant Ctrl-X puis \u00ab\u00a0o\u00a0\u00bb pour valider les changements.<\/p>\n<p>Red\u00e9marrer le serveur avec la commande :<br \/>\n<code>riri@srv-debian:~$ sudo \/etc\/init.d\/ssh restart<\/code><br \/>\nIl est d\u00e9sormais impossible de se logger en tant que \u00ab\u00a0root\u00a0\u00bb. Il faudra d\u00e9sormais se connecter avec un utilisateur standard et passer soit par la commande \u00ab\u00a0su root\u00a0\u00bb pour devenir \u00ab\u00a0root\u00a0\u00bb une fois connect\u00e9 ou bien pr\u00e9fixer les commandes par l&rsquo;instruction \u00ab\u00a0sudo\u00a0\u00bb comme vu dans un article pr\u00e9c\u00e9dent.<\/p>\n<p>La partie suivante va permettre de s&rsquo;authentifier sans mot de passe et ce en utilisant une paire de cl\u00e9s publique\/priv\u00e9e.<\/p>\n<h1>G\u00e9n\u00e9ration des cl\u00e9s<\/h1>\n<h2>Sous Windows avec PuttyGen<\/h2>\n<p>Avec Putty sont venus 2 utilitaires nomm\u00e9s Puttygen et Pageant. Le premier permet de g\u00e9n\u00e9rer le couple de cl\u00e9s qui va nous permettre de nous authentifier, le second permet de configurer le syst\u00e8me pour utiliser automatiquement lesdites cl\u00e9s sans avoir \u00e0 retaper la \u00ab\u00a0passphrase\u00a0\u00bb qui sera utilis\u00e9e lors de la g\u00e9n\u00e9ration des cl\u00e9s.<\/p>\n<h3>G\u00e9n\u00e9ration de la paire de cl\u00e9s<\/h3>\n<ul>\n<li>Lancez Puttygen via \u00ab\u00a0Menu d\u00e9marrer-&gt;Putty-&gt;Puttygen\u00a0\u00bb<\/li>\n<li>Dans la fen\u00eatre qui apparait v\u00e9rifier que l&rsquo;option \u00ab\u00a0SSH-2 RSA\u00a0\u00bb est coch\u00e9e puis cliquer sur \u00ab\u00a0Generate\u00a0\u00bb. Dans la grande zone vide apparait un message invitant \u00e0 \u00ab\u00a0generate some randomness\u00a0\u00bb, c&rsquo;est \u00e0 dire introduire un d\u00e9placement al\u00e9atoire\u00e0 la souris afin de g\u00e9n\u00e9rer la paire de cl\u00e9s. Pour ce faire, d\u00e9placer rapidement la souris dans la zone idoine afin de faire avancer la barre d&rsquo;avancement de la g\u00e9n\u00e9ration.<\/li>\n<li>Une fois la cl\u00e9 g\u00e9n\u00e9r\u00e9e on se retrouve avec une longue suite de caract\u00e8res commen\u00e7ant par ssh-rsa et 4 zones de texte ont fait leur apparition. La zone \u00ab\u00a0key fingerprint\u00a0\u00bb correspond \u00e0 l&#8217;empreinte de la cl\u00e9 compl\u00e8te. Cette empreinte unique est transmise lors de la connexion au serveur. C&rsquo;est une empreinte similaire qui a \u00e9t\u00e9 transmise au client par le serveur lors de la premi\u00e8re connexion. Elle permet de s&rsquo;assurer que l&rsquo;interlocuteur est bien celui avec lequel on veut communiquer car elle correspond \u00e0 une seule et unique cl\u00e9 priv\u00e9e (celle de son propri\u00e9taire). La zone \u00ab\u00a0Key comment\u00a0\u00bb permet de rajouter un commentaire pour la cl\u00e9 g\u00e9n\u00e9r\u00e9e, par exemple \u00ab\u00a0Cl\u00e9 client Windows XP maison\u00a0\u00bb, libre \u00e0 vous de mettre ou non un commentaire. Les champs \u00ab\u00a0passphrase\u00a0\u00bb et \u00ab\u00a0key passphrase\u00a0\u00bb permettent de prot\u00e9ger la cl\u00e9 priv\u00e9e par un mot de passe (ou plus g\u00e9n\u00e9ralement une phrase quelconque) en cas de vol de ladite cl\u00e9. Je vous recommande de saisir une passphrase assez longue.<\/li>\n<li>Lorsque vous avez saisi le commentaire et la passphrase (2 fois), cliquez sur \u00ab\u00a0Save public key\u00a0\u00bb et enregistrez-la sous le nom \u00ab\u00a0id_rsa.pub\u00a0\u00bb. Cliquez ensuite sur \u00ab\u00a0Save private key\u00a0\u00bb et donnez-lui le nom \u00ab\u00a0id_rsa.ppk\u00a0\u00bb. Nos 2 cl\u00e9s sont d\u00e9sormais sauvegard\u00e9es et la cl\u00e9 priv\u00e9e est prot\u00e9g\u00e9e par mot de passe.<\/li>\n<li>S\u00e9lectionnez ensuite l&rsquo;int\u00e9gralit\u00e9 du texte de la cl\u00e9 (le texte commen\u00e7ant par \u00ab\u00a0ssh-rsa\u00a0\u00bb) et copiez-la dans le presse-papiers, il correspond \u00e0 la cl\u00e9 publique qui servira d&rsquo;une part \u00e0 v\u00e9rifier que c&rsquo;est bien vous qui \u00eates connect\u00e9 sur le serveur mais aussi \u00e0 d\u00e9chiffrer les donn\u00e9es chiffr\u00e9es par votre cl\u00e9 priv\u00e9e.<\/li>\n<\/ul>\n<h2>Sous linux, avec ssh-keygen<\/h2>\n<p>Linux b\u00e9n\u00e9ficie d&rsquo;un outil d\u00e9di\u00e9 \u00e0 la g\u00e9n\u00e9ration de cl\u00e9s pour ssh nomm\u00e9 ssh-keygen. Pour g\u00e9n\u00e9rer celles-ci, on utilise la commande suivante :<br \/>\n<code>ssh-keygen -t rsa -b 1024 -f id_rsa<\/code><br \/>\nCette commande cr\u00e9e une cl\u00e9 rsa de 1024 bits stock\u00e9e dans le fichier id_rsa. La cl\u00e9 publique se trouve dans le fichier id_rsa.pub. L&rsquo;utilitaire demande ensuite de saisir une passphrase (de pr\u00e9f\u00e9rence assez longue), je vous conseille de le faire pour prot\u00e9ger votre cl\u00e9. Si quelqu&rsquo;un s&#8217;empare de la cl\u00e9 priv\u00e9e, s&rsquo;il ne connait pas la passphrase permettant de la d\u00e9verrouiller elle ne lui servira \u00e0 rien. Tapez une seconde fois votre passphrase lorsqu&rsquo;elle vous est demand\u00e9e puis validez. Votre paire de cl\u00e9s est cr\u00e9\u00e9e !<\/p>\n<h1>Copie de la cl\u00e9 sur le serveur<\/h1>\n<h2>Sous Windows<\/h2>\n<ul>\n<li>Connectez-vous au serveur en utilisant Putty comme vu au d\u00e9but de l&rsquo;article avec l&rsquo;utilisateur de votre choix (mais pas root, celui-ci \u00e9tant d\u00e9sormais d\u00e9sactiv\u00e9)<\/li>\n<li>Tapez les commande suivantes :<br \/>\n<code>riri@srv-debian:~$ cd<br \/>\nriri@srv-debian:~$ mkdir .ssh<br \/>\nriri@srv-debian:~$ cd .ssh<br \/>\nriri@srv-debian:~$ nano authorized_keys<br \/>\n<\/code><\/li>\n<li>Collez le texte de la cl\u00e9 avec un clic droit (merci le copier\/coller rapide de putty) et assurez-vous que la cl\u00e9 tienne sur une seule ligne (supprimez les retours \u00e0 la ligne qui se sont rajout\u00e9s automatiquement)<\/li>\n<li>Sauvegardez le fichier en faisant CTrl-x puis \u00ab\u00a0o\u00a0\u00bb puis Entr\u00e9e<\/li>\n<\/ul>\n<p>Notre serveur est maintenant pr\u00eat \u00e0 accepter les connexions utilisant une authentification par cl\u00e9. Quittez Putty puis relancez-le.<\/p>\n<h2>Sous linux<\/h2>\n<p>Tapez la commande suivante :<br \/>\n<code>riri@srv-debian:~$ ssh-copy-id -i ~\/id_rsa.pub user@ipduserveur<\/code><br \/>\nTapez le mot de passe de l&rsquo;utilisateur lorsqu&rsquo;il vous est demand\u00e9. Et voil\u00e0, la cl\u00e9 est automatiquement copi\u00e9e dans le dossier \u00ab\u00a0\/home\/nomutilisateur\/.ssh\/authorized_keys\u00a0\u00bb<\/p>\n<h1>Connexion au serveur en utilisant la paire de cl\u00e9s<\/h1>\n<h2>Sous Windows<\/h2>\n<ul>\n<li>Dans le menu de gauche, choisir la rubrique \u00ab\u00a0Connection\u00a0\u00bb puis d\u00e9velopper la sous-rubrique \u00ab\u00a0SSH\u00a0\u00bb et cliquer sur \u00ab\u00a0Auth\u00a0\u00bb<\/li>\n<li>Dans la zone \u00ab\u00a0Private key file for authentication\u00a0\u00bb, cliquer sur \u00ab\u00a0Browse\u00a0\u00bb et choisir le fichier \u00ab\u00a0id_rsa.ppk\u00a0\u00bb g\u00e9n\u00e9r\u00e9 plus t\u00f4t<\/li>\n<li>Revenir dans la rubrique Session et sauvegarder les param\u00e8tres en cliquant une fois sur le nom donn\u00e9 lors de la sauvegarde de la premi\u00e8re fois (srv-debian dans mon cas) puis sur \u00ab\u00a0Save\u00a0\u00bb<\/li>\n<li>Enfin, cliquer sur \u00ab\u00a0Open\u00a0\u00bb pour ouvrir la session. Saisir le login de l&rsquo;utilisateur pour lequel vous avez g\u00e9n\u00e9r\u00e9 les cl\u00e9s et le fichier authorized_keys<\/li>\n<li>Lorsqu&rsquo;elle vous est demand\u00e9e, saisir la passphrase que vous aviez choisi lors de la g\u00e9n\u00e9ration des cl\u00e9s et valider. Vous voil\u00e0 maintenant logg\u00e9 !<\/li>\n<\/ul>\n<h1>Et maintenant ?<\/h1>\n<p>Et alors me direz-vous ? Si on ne sp\u00e9cifie pas de cl\u00e9 priv\u00e9e \u00e0 utiliser pour l&rsquo;authentification on peut toujours se connecter en utilisant le couple login\/pass. Quand on connait la fragilit\u00e9 d&rsquo;un mot de passe, il vaudrait mieux supprimer la possibilit\u00e9 de se connecter en utilisant celui-ci. Rien de plus simple ! Editez le fichier sshd_config<\/p>\n<p><code>riri@srv-debian:~$ sudo nano \/etc\/ssh\/sshd_config<\/code><\/p>\n<p>Rep\u00e9rez la ligne suivante :<\/p>\n<p><code>#PasswordAuthentication yes<\/code><\/p>\n<p>et remplacez-la par<\/p>\n<p><code>PasswordAuthentication no<\/code><\/p>\n<p>Red\u00e9marrez le service ssh avec la commande :<\/p>\n<p><code>riri@srv-debian:~$ sudo \/etc\/init.d\/ssh restart<\/code><\/p>\n<p>Il est d\u00e9sormais impossible de se connecter au serveur par ssh en utilisant un mot de passe !<\/p>\n<p>T&rsquo;es gentil mais devoir taper la passphrase \u00e0 chaque fois c&rsquo;est quand m\u00eame chiant. Quelque part c&rsquo;est pas faux :o. Et c&rsquo;est pour cela que les agents ssh sont l\u00e0. Sous Windows nous utiliserons Pageant, fourni avec PuTTy tandis que sous linux nous utiliserons les outils ssh-agent et ssh-add. C&rsquo;est parti !<\/p>\n<h1>Utilisation d&rsquo;un agent pour conserver les cl\u00e9s en m\u00e9moire<\/h1>\n<h2>Sous Windows<\/h2>\n<p>Rien de plus simple ! Lancez l&rsquo;outil pageant depuis le \u00ab\u00a0Menu d\u00e9marrer &#8211;&gt; PuTTy &#8211;&gt; Pageant\u00a0\u00bb. Double-cliquez sur l&rsquo;ic\u00f4ne qui est apparue dans la barre des t\u00e2ches (l&rsquo;ordinateur avec un trait noir) puis cliquez sur \u00ab\u00a0Add key\u00a0\u00bb. Dans la fen\u00eatre qui apparait, choisissez votre fichier id_rsa.ppk, validez puis saisissez votre passphrase lorsqu&rsquo;elle vous est demand\u00e9e et voil\u00e0 ! La cl\u00e9 priv\u00e9e sera m\u00e9moris\u00e9e sous sa forme d\u00e9cod\u00e9e pendant toute la dur\u00e9e o\u00f9 la machine sera allum\u00e9e. Peu importe le nombre de fois o\u00f9 vous lancerez putty, il vous sera uniquement demand\u00e9 votre login, l&rsquo;authentification sera faite automatiquement avec votre cl\u00e9 et il n&rsquo;y aura plus besoin de saisir de mot de passe ou de passphrase<\/p>\n<h2>Sous linux<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>Installation et configuration d&rsquo;OpenSSH Notre serveur est maintenant op\u00e9rationnel, n\u00e9anmoins il est obligatoire d&rsquo;\u00eatre pr\u00e9sent physiquement devant celui-ci pour l&rsquo;administrer&#8230;. <a href=\"https:\/\/pro.richardbaret.fr\/?p=194\">Continue reading &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-194","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts\/194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=194"}],"version-history":[{"count":44,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":419,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions\/419"}],"wp:attachment":[{"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pro.richardbaret.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}