Skip to content

Commit

Permalink
[AUTO] Deploy PR #118
Browse files Browse the repository at this point in the history
for commit 55c9fb3
  • Loading branch information
gfaivre committed Oct 24, 2023
1 parent 7f5ebc5 commit a7aba76
Show file tree
Hide file tree
Showing 11 changed files with 134 additions and 84 deletions.
53 changes: 44 additions & 9 deletions pr/118/blog/cours/ansible/ansible-premiers-pas/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@
"image": [
"https://rix-fr.github.io/rix/pr/118/blog/cours/ansible/content/images/blog/thumbnails/Get-started-with-Ansible.jpg"
],
"datePublished": "20 mars 2023",
"dateModified": "20 mars 2023",
"datePublished": "24 octobre 2023",
"dateModified": "24 octobre 2023",
"author": [
{
"@type": "Person",
Expand Down Expand Up @@ -225,13 +225,19 @@ <h2 class="h2--large">Ansible - Découverte et premiers pas.</h2>
<a href="#prerequis">Prérequis</a>
</li>
<li class="table-of-contents__item">
<a href="#ressources">Ressources</a>
<a href="#mise-en-route">Mise en route</a>
<ol class="table-of-contents__sub-level">
<li>
<a href="#ansible">Ansible</a>
<a href="#infrastructure">Infrastructure</a>
</li>
<li>
<a href="#environnement-local">Environnement local</a>
</li>
</ol>
</li>
<li class="table-of-contents__item">
<a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a>
</li>
</ol>
<div class="article-info">
<div class="author ">
Expand All @@ -249,25 +255,54 @@ <h2 class="h2--large">Ansible - Découverte et premiers pas.</h2>
</span>
</div>
<div class="article-info__date">
<span>Publication <strong>20 mars 2023</strong></span>
<span>Publication <strong>24 octobre 2023</strong></span>
</div>
</div>
</div>
<main>
<body><h2 id="preambule" class="anchor-title"><a href="#preambule">Préambule</a></h2>
<p>Ce cours est utilisé dans le cadre de TP au sein de l'IUT Lyon 1. Il est notamment dispensé à des étudiants peu ou pas familiers avec les stratégies d'automatisation et de déploiement des infrastructures.
Bien que très axé débutants il peut également représenté une possibilité de monter « rapidement » pour certaines équipes sur les principaux fondamentaux d'Ansible afin de disposer du bagage minimal nécessaire à son utilisation.</p>
Bien que très axé débutants il peut également représenté une possibilité de monter « rapidement » pour certaines équipes sur les principes fondamentaux d'Ansible afin de disposer du bagage minimal nécessaire à son utilisation.</p>
<p>Il s'agit bien évidemment de supports à vocation pédagogique qui <strong>ne sont pas toujours transposables</strong> à une activité professionnelle.</p>
<h2 id="prerequis" class="anchor-title"><a href="#prerequis">Prérequis</a></h2>
<p>Afin d'aborder les différents concepts du cours il est recommandé de disposer:</p>
<ul>
<li>D'au moins deux machines virtuelles accessibles via <strong>SSH</strong> (idéalement 4);</li>
<li>Docker installé sur la machine de travail (Docker Desktop pour Windows et OSX);</li>
<li><strong>Docker</strong> et <strong>Docker compose</strong> installés sur la machine de travail (Docker Desktop pour Windows et OSX);</li>
<li>D'une installation d'Ansible récente (2.14.3), il est également possible (et même recommandé) d'utiliser: <a href="https://github.com/manala/manala-recipes/tree/master/lazy.ansible" target="_blank">https://github.com/manala/manala-recipes/tree/master/lazy.ansible</a> comme expliqué <strong><a href="#">ici</a></strong>.</li>
<li>D'une paire de clé de SSH que vous aurez pris soin de générer (voir <a href="/blog/cours/cle-ssh-principes-de-base">ici</a>) si vous n'en disposez pas déjà.</li>
</ul>
<p>En fonction de votre environnement de travail la mise en place des différents outils est décrite <strong><a href="#">ici</a></strong>.</p>
<h2 id="ressources" class="anchor-title"><a href="#ressources">Ressources</a></h2>
<h3 id="ansible" class="anchor-title"><a href="#ansible">Ansible</a></h3></body>
<h2 id="mise-en-route" class="anchor-title"><a href="#mise-en-route">Mise en route</a></h2>
<p>Première étape avant de pouvoir rentrer dans le vif du sujet, nous aurons besoin de mettre en place un environnement de travail dédié à nos travaux.</p>
<h3 id="infrastructure" class="anchor-title"><a href="#infrastructure">Infrastructure</a></h3>
<p>Pour pouvoir configurer nos serveurs, il nous faudra... des serveurs, ou plutôt des machines virtuelles pour leur facilité à être arrêter, détruites et reconstruites.
N'importe quel fournisseur de cloud publique peut faire l'affaire, utilisez celui avec lequel vous avez le plus d'affinités.</p>
<p>Dans le cadre de l'IUT nous utiliserons OpenStack solution OpenSource qui a fait ses preuves et qui plus est disponible dans l'enceinte de l'université.
C'est donc sur cette base que je présenterai les étapes suivantes, au demeurant, parfaitement transposables chez d'autres fournisseurs.</p>
<p>Nous travaillerons avec deux environnements distincts, « Staging » et « Production » qui embarqueront chacune une instance applicative (qui portera donc le code d'une application) et une instance de base de données (chargée de faire fonctionner notre serveur de base de données).
Si vous êtes limité en terme de création d'instance, il est envisageable de n'avoir qu'une instance par environnement, celle-ci embarquant l'applicatif et les données.</p>
<h3 id="environnement-local" class="anchor-title"><a href="#environnement-local">Environnement local</a></h3>
<p>Les étapes suivantes seront donc à exécuter à partir de votre machine.</p>
<h4 id="se-connecter-avec-le-client-ssh" class="anchor-title"><a href="#se-connecter-avec-le-client-ssh">Se connecter avec le client SSH</a></h4>
<p>Considérant que vous remplissez les prérequis et que vous avez créé vos instances distantes nous allons pour commencer initier une « simple » connexion SSH vers notre instance.</p>
<pre class="code-multiline"><code id="8f5d822d895a75c50ce49e32467e9de0">ssh [email protected]</code></pre>
<p>Si vous rencontrez des soucis .. forbidden (exemple) essayer en ajoutant explicitement le chemin vers la clé.</p>
<pre class="code-multiline"><code id="665e15826841b865ca528876d7f9894d">ssh -i ~/.ssh/ed25519 [email protected]</code></pre>
<h4 id="configuration-du-client-ssh" class="anchor-title"><a href="#configuration-du-client-ssh">Configuration du client SSH</a></h4>
<p>Afin d'éviter d'avoir à spécifier le chemin vers la clé à chaque connexion et afin d'afiner la configuration de notre client nous pouvons également définir un fichier <code class="code-inline" id="4cc0ecc8128c171b864a0cdda4b4cdea">~/.ssh/config</code> contenant les directives suivantes:</p>
<pre class="code-multiline"><code id="de020e8878496ef04ac49671f6dacc38">Host 192.168.140.*
Port 22
User debian
IdentityFile ~/.ssh/keyfile
IdentitiesOnly yes
ForwardAgent yes</code></pre>
<p>Celles-ci sont relativement compréhensibles, précisons tout de même pour les deux dernières:</p>
<ul>
<li><code class="code-inline" id="f382dcceabb5224c5f6cda7f40c496a6">IdentitiesOnly</code> indique à SSH de n'envoyer au serveur <strong>QUE</strong> la clé définie à la directive <code class="code-inline" id="9ff804472728077c3da1cd67b27fb91d">IdentityFile</code> quand bien même vous disposez d'autres clés dans votre répertoire <code class="code-inline" id="6ee1504095caefc322f5ca38b8074fd4">~/.ssh</code></li>
<li><code class="code-inline" id="787f1d575c24fc4fca7057057499b6ac">ForwardAgent</code> permet d'activer le transfert d'identité vers l'agent SSH du serveur</li>
</ul>
<h2 id="aller-plus-loin-avec-les-sources" class="anchor-title"><a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a></h2></body>
</main>
<div class="article-footer" data-aos="fade-in">
<div class="author">
Expand Down
8 changes: 4 additions & 4 deletions pr/118/blog/cours/cle-ssh-principes-de-base/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,10 @@ <h2 class="h2--large">Principes de base de l&#039;utilisation de clés SSH.</h2>
<a href="#se-connecter-a-un-serveur-distant">Se connecter à un serveur distant</a>
</li>
<li class="table-of-contents__item">
<a href="#pour-aller-plus-loin">Pour aller plus loin</a>
<a href="#complements">Compléments</a>
</li>
<li class="table-of-contents__item">
<a href="#sources">Sources:</a>
<a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a>
</li>
</ol>
<div class="article-info">
Expand Down Expand Up @@ -340,12 +340,12 @@ <h2 id="se-connecter-a-un-serveur-distant" class="anchor-title"><a href="#se-con
<li>Par défaut ssh <strong>parcourt les clés SSH privées disponibles</strong> dans le répertoire <code class="code-inline" id="6ee1504095caefc322f5ca38b8074fd4">~/.ssh</code> afin de les proposer au serveur auquel vous essayez de vous connecter.</li>
<li>Vous optenez en retour <strong>la première fois</strong> que vous vous connectez un message vous demandant de <strong>confirmer la connexion</strong> vers le serveur distant (Host key checking).</li>
</ul>
<h2 id="pour-aller-plus-loin" class="anchor-title"><a href="#pour-aller-plus-loin">Pour aller plus loin</a></h2>
<h2 id="complements" class="anchor-title"><a href="#complements">Compléments</a></h2>
<p>Si vous disposez de plusieurs clés SSH et que vous ne souhaitez pas que l'ensemble de vos clés privées soient soumises au serveur distant vous pouvez spécifier quelle clé utiliser en utilisant l'option <code class="code-inline" id="20f011826070657b0f0092278d65ec74">-i</code>.</p>
<pre class="code-multiline"><code id="1447b20008cc99325cebf30676ffa256">ssh -i ~/.ssh/id25519 [email protected]</code></pre>
<p>Il est possible d'utiliser <strong>des syntaxes différentes</strong> en fonction de votre <a href="/blog/cours/utiliser-la-configuration-ssh-client">fichier de configuration SSH</a>.</p>
<p>Vous pouvez ainsi agir sur les comportements par défaut de votre client SSH et notamment quel clé utiliser en fonction de tel ou tel serveur.</p>
<h2 id="sources" class="anchor-title"><a href="#sources">Sources:</a></h2>
<h2 id="aller-plus-loin-avec-les-sources" class="anchor-title"><a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a></h2>
<ul>
<li><a href="https://fr.wikipedia.org/wiki/Secure_Shell" target="_blank">https://fr.wikipedia.org/wiki/Secure_Shell</a></li>
</ul></body>
Expand Down
4 changes: 2 additions & 2 deletions pr/118/blog/cours/docker-avec-windows-et-wsl/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ <h2 class="h2--large">Faire fonctionner des conteneurs Docker dans WSL.</h2>
<a href="#tester-le-fonctionnement-de-docker-dans-une-machine-virtuelle-wsl">Tester le fonctionnement de Docker dans une machine virtuelle WSL</a>
</li>
<li class="table-of-contents__item">
<a href="#allez-plus-loin-avec-les-sources">Allez plus loin avec les sources</a>
<a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a>
</li>
</ol>
<div class="article-info">
Expand Down Expand Up @@ -316,7 +316,7 @@ <h2 id="tester-le-fonctionnement-de-docker-dans-une-machine-virtuelle-wsl" class
<span class="figure__legend">Ajouter un utilisateur au groupe docker</span>
</figcaption>
</figure>
<h2 id="allez-plus-loin-avec-les-sources" class="anchor-title"><a href="#allez-plus-loin-avec-les-sources">Allez plus loin avec les sources</a></h2>
<h2 id="aller-plus-loin-avec-les-sources" class="anchor-title"><a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a></h2>
<ul>
<li><a href="https://learn.microsoft.com/fr-fr/windows/wsl/basic-commands" target="_blank">https://learn.microsoft.com/fr-fr/windows/wsl/basic-commands</a></li>
<li><a href="https://learn.microsoft.com/fr-fr/training/modules/wsl/wsl-introduction/" target="_blank">https://learn.microsoft.com/fr-fr/training/modules/wsl/wsl-introduction/</a></li>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ <h2 class="h2--large">Utiliser le fichier de configuration SSH pour ses connexio
</ol>
</li>
<li class="table-of-contents__item">
<a href="#pour-aller-plus-loin">Pour aller plus loin:</a>
<a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a>
</li>
</ol>
<div class="article-info">
Expand Down Expand Up @@ -416,7 +416,7 @@ <h3 id="exemple-de-fichiers-de-configuration-avec-multiplexage" class="anchor-ti
L'utilisation du token <code class="code-inline" id="7aa7de32bee3fc5d6a7f0d746c0f2ae9">%C</code> assurant à la fois, l'unicité de la connexion et l'obfuscation de ses détails sur le système de fichiers.
</p>
</div>
<h2 id="pour-aller-plus-loin" class="anchor-title"><a href="#pour-aller-plus-loin">Pour aller plus loin:</a></h2>
<h2 id="aller-plus-loin-avec-les-sources" class="anchor-title"><a href="#aller-plus-loin-avec-les-sources">Aller plus loin avec les sources</a></h2>
<ul>
<li>Recommandations pour un usage sécurisé d'OpenSSH par l'ANSSI: <a href="https://www.ssi.gouv.fr/uploads/2014/01/NT_OpenSSH.pdf" target="_blank">https://www.ssi.gouv.fr/uploads/2014/01/NT_OpenSSH.pdf</a></li>
<li><a href="https://man.openbsd.org/ssh_config" target="_blank">https://man.openbsd.org/ssh_config</a></li>
Expand Down
Loading

0 comments on commit a7aba76

Please sign in to comment.