<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wikiold.home.tartarefr.eu/index.php?action=history&amp;feed=atom&amp;title=Security%2FSSH</id>
	<title>Security/SSH - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wikiold.home.tartarefr.eu/index.php?action=history&amp;feed=atom&amp;title=Security%2FSSH"/>
	<link rel="alternate" type="text/html" href="https://wikiold.home.tartarefr.eu/index.php?title=Security/SSH&amp;action=history"/>
	<updated>2026-07-07T05:03:54Z</updated>
	<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wikiold.home.tartarefr.eu/index.php?title=Security/SSH&amp;diff=1213&amp;oldid=prev</id>
		<title>Didier : Page créée avec « == Introduction == Tout comme Telnet, ssh est un protocole qui permet de se connecter à distance sur une machine à la différence que ssh crypte les données avec l&#039;algoryt... »</title>
		<link rel="alternate" type="text/html" href="https://wikiold.home.tartarefr.eu/index.php?title=Security/SSH&amp;diff=1213&amp;oldid=prev"/>
		<updated>2012-12-31T11:57:27Z</updated>

		<summary type="html">&lt;p&gt;Page créée avec « == Introduction == Tout comme Telnet, ssh est un protocole qui permet de se connecter à distance sur une machine à la différence que ssh crypte les données avec l&amp;#039;algoryt... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Introduction ==&lt;br /&gt;
Tout comme Telnet, ssh est un protocole qui permet de se connecter à distance sur une machine à la différence que ssh crypte les données avec l&amp;#039;algorythme RSA. Le problème avec Telnet est que toutes les données qui transitent entre le client et le serveur sont en clair. L&amp;#039;utilisation de ssh permet donc de crypter les données échangées entre le client et le serveur.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Installation du client ===&lt;br /&gt;
Normalement, le client est installé par défaut, sinon il suffit de saisir en root&lt;br /&gt;
&lt;br /&gt;
 yum install openssh-client&lt;br /&gt;
&lt;br /&gt;
=== Installation serveur ===&lt;br /&gt;
La partie serveur permet à des hôtes distants de se connecter à votre système.&lt;br /&gt;
&lt;br /&gt;
 yum install openssh-server&lt;br /&gt;
&lt;br /&gt;
== Fichiers de configuration ==&lt;br /&gt;
&lt;br /&gt;
Les principaux fichiers de configuration sont dans le répertoire &amp;#039;&amp;#039;/etc/ssh&amp;#039;&amp;#039; :&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ssh_config&amp;#039;&amp;#039;&amp;#039; : fichier de configuration du client&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;sshd_config&amp;#039;&amp;#039;&amp;#039; : fichier de configuration du serveur&lt;br /&gt;
&lt;br /&gt;
De plus, ce répertoire contient les couples de clés privées/publiques identifiant votre hôtes :&lt;br /&gt;
&lt;br /&gt;
* ssh_host_dsa_key&lt;br /&gt;
* ssh_host_dsa_key.pub&lt;br /&gt;
* ssh_host_rsa_key&lt;br /&gt;
* ssh_host_rsa_key.pub&lt;br /&gt;
&lt;br /&gt;
== Accès sur une machine distante ==&lt;br /&gt;
&lt;br /&gt;
=== Avec mot de passe ===&lt;br /&gt;
&lt;br /&gt;
Si vous voulez vous connectez à la machine &amp;#039;&amp;#039;&amp;#039;hote_distant&amp;#039;&amp;#039;&amp;#039; avec l&amp;#039;utilisateur &amp;#039;&amp;#039;&amp;#039;utilisateur_distant&amp;#039;&amp;#039;&amp;#039;, saisir simplement&lt;br /&gt;
&lt;br /&gt;
 ssh utilisateur_distant@hote_distant&lt;br /&gt;
&lt;br /&gt;
et saisir votre mot de passe.&lt;br /&gt;
&lt;br /&gt;
Si le nom d&amp;#039;utilisateur sur le système local et la machine distante sont les mêmes, vous pouvez omettre la partie &amp;#039;&amp;#039;&amp;#039;utilisateur_distant@&amp;#039;&amp;#039;&amp;#039; et saisir simplement&lt;br /&gt;
&lt;br /&gt;
 ssh hote_distant&lt;br /&gt;
&lt;br /&gt;
Si c&amp;#039;est la première fois que vous vous connectez à l&amp;#039;hôte distant, ssh va vous demander si vous êtes certain de vouloir vous connecter à la machine distante. Répondre &amp;#039;oui&amp;#039; après avoir vérifié l&amp;#039;empreinte du serveur et entrez votre mot de passe, ainsi, ssh vous connectera à l&amp;#039;hôte distant.&lt;br /&gt;
&lt;br /&gt;
=== Utilisation de clés partagées ===&lt;br /&gt;
&lt;br /&gt;
Une des fonctionnalités supportées par ssh est l&amp;#039;utilisation d&amp;#039;un couple de clés privée/publique pour se connecter à l&amp;#039;hôte distant. Cette méthode permet, si l&amp;#039;on se connecte souvent à un hôte distant de ne pas saisir à chaque fois son mot de passe. Pour cela, vous devez générer un couple de clés privée/publique sur votre machine locale et déposer la clé sur l&amp;#039;hôte distant.&lt;br /&gt;
&lt;br /&gt;
Pour générer la clé, on utilise le programme ssh-keygen&lt;br /&gt;
&lt;br /&gt;
 ssh-keygen -t rsa&lt;br /&gt;
&lt;br /&gt;
Ce programme va générer un couple de clés privé/publique dans le répertoire ~/.ssh. Le programme vous demande dans un premier temps le répertoire de destination des clés, par défaut votre répertoire personnel, une passphrase vous est ensuite demandé. &lt;br /&gt;
&lt;br /&gt;
Notes : nous vous conseillons de ne pas laisser la passphrase vide. En effet, un attaquant qui aurait récupéré votre clé privé pourrait ensuite se connecter facilement à tous les hôtes sur lesquels vous avez déposé votre clé publique si la passphrase est vide. Pensez à choisir une passphrase longue et complexe.&lt;br /&gt;
&lt;br /&gt;
Votre clé privée est id_rsa (vous devez ne jamais la fournir à un tiers), la clé publique est id_rsa.pub.&lt;br /&gt;
&lt;br /&gt;
Vous devez copier votre clé publique sur l&amp;#039;hôte distant avec la commande &amp;#039;&amp;#039;&amp;#039;ssh-copy-id&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
 ssh-copy-id -i ~/.ssh/id_rsa.pub $utilisateur_distant@$hote_distant&lt;br /&gt;
&lt;br /&gt;
Vous pouvez maintenant vous connecter simplement à l&amp;#039;hôte distant, la passphrase vous est demandée. Une fois rentré, vous êtes connecté à l&amp;#039;hôte distant. En cas de nouvelles connections, la passphrase ne vous sera plus demandé durant toute votre session.&lt;br /&gt;
&lt;br /&gt;
== Sécurisation ==&lt;br /&gt;
Par défaut, un serveur SSH est relativement sécurisé. Il est possible, à l&amp;#039;aide quelques options de configuration ou des outils de rendre encore plus dur à le &amp;#039;&amp;#039;cracker&amp;#039;&amp;#039;&lt;br /&gt;
{{Admon/warning|Mise à jour|L&amp;#039;utilisation de la dernière version du package &amp;lt;package&amp;gt;openssh-server&amp;lt;/package&amp;gt; disponible permet de se protéger contre l&amp;#039;utilisation des failles de sécurité connues.}}&lt;br /&gt;
&lt;br /&gt;
=== Options de configuration ===&lt;br /&gt;
&lt;br /&gt;
{{Admon/important|Prise en compte des modifications|Il faut éditer le fichier &amp;lt;path&amp;gt;/etc/ssh/sshd_config&amp;lt;/path&amp;gt; pour ajuster le paramétrage puis relancer le serveur ssh par&amp;lt;pre&amp;gt;service ssh restart&amp;lt;/pre&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* Désactiver utilisation du mot de passe pour l&amp;#039;authentification (&amp;#039;&amp;#039;UsePAM no&amp;#039;&amp;#039;).&lt;br /&gt;
* Désactiver l&amp;#039;utilisation du compte &amp;#039;&amp;#039;root&amp;#039;&amp;#039;(&amp;#039;&amp;#039;PermitRootLogin no&amp;#039;&amp;#039;)&lt;br /&gt;
* N&amp;#039;autoriser que certains utilisateurs ou groupe d&amp;#039;utilisateurs à se connecter (&amp;#039;&amp;#039;AllowUsers&amp;#039;&amp;#039; et &amp;#039;&amp;#039;AllowGroups&amp;#039;&amp;#039;)&lt;br /&gt;
{{Admon/note|Les options|Les options &amp;#039;&amp;#039;AllowUsers&amp;#039;&amp;#039; et &amp;#039;&amp;#039;AllowGroups&amp;#039;&amp;#039; n&amp;#039;amélioreront pas la sécurité d&amp;#039;un serveur SSH. Mais, dans certains cas, leur utilisation permet de résister un peu plus longtemps lors des attaques par [http://fr.wikipedia.org/wiki/Attaque_par_force_brute brut force].}}&lt;br /&gt;
 &lt;br /&gt;
=== Outils externes ===&lt;br /&gt;
* fail2ban : permet de blacklister les adresses IP tentant de &amp;#039;&amp;#039;&amp;quot;brut forcer&amp;quot;&amp;#039;&amp;#039; un serveur SSH automatiquement à l&amp;#039;aide d&amp;#039;iptables.&lt;br /&gt;
* denyhosts : comme fail2ban, denyhosts permet de bloquer les adresses ip tenant de forcer une connexion ssh. Mais, contrairement à fail2ban, il n&amp;#039;utilise pas iptables, mais le fichier &amp;#039;&amp;#039;/etc/hosts.deny&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Fonctions complémentaires ==&lt;br /&gt;
== Commandes supplémentaires ==&lt;br /&gt;
=== scp ===&lt;br /&gt;
{{app|scp}} est un utilitaire en ligne de commande permettant de transférer des fichiers entre 2 machines.&lt;br /&gt;
* Envoie d&amp;#039;un fichier:&amp;lt;pre&amp;gt;scp $fichier_source $utilisateur_distant@$hote_distant:$fichier_destination&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Récupération d&amp;#039;un fichier vers la machine locale:&amp;lt;pre&amp;gt;scp $utilisateur_distant@$hote_distant:$fichier_source $fichier_destination&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== sftp ===&lt;br /&gt;
==== mode texte ====&lt;br /&gt;
==== mode graphique ====&lt;br /&gt;
=== clusterssh ===&lt;br /&gt;
=== ssh-agent ===&lt;br /&gt;
{{app|ssh-agent}} est un outil pratique permettant gérer les mot de passes associés aux clés privées utilisées pour l&amp;#039;authentification vers des serveurs ssh : en effet, au premier chargement de la clé privé, ssh-agent demandera le mot de passe associé à la  clé. Par la suite, il n&amp;#039;est plus nécéssaire de saisir le mot de passe clé de la clé lors de l&amp;#039;utilisation de la commande ssh (jusqu&amp;#039;au déchargement de la clé).&lt;br /&gt;
* Chargement d&amp;#039;un clé: &amp;#039;&amp;#039;&amp;#039;ssh-add $cle_prive&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Lister les clés disponibles: &amp;#039;&amp;#039;&amp;#039;ssh-add -l&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Suppresion de toutes clés chargées: &amp;#039;&amp;#039;&amp;#039;ssh-add -D&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
=== keychain ===&lt;br /&gt;
{{app|keychain}} fourni par le package {{package|keychain}} est un script shell facilitant l&amp;#039;utilisation de l&amp;#039;agent ssh entre plusieurs sessions d&amp;#039;un même utilisateur. En effet, lors du premier lancement, ssh-agent crée un socket permettant la communication vers ssh. Ce socket est référencé uniquement dans l&amp;#039;environnement de la session utilisée lors du démarrage de l&amp;#039;agent. Keychain permet garder la trace de l&amp;#039;agent et de le propager l&amp;#039;accès à cet agent à partir d&amp;#039;autres sessions, ce qui permet de limiter à une seule instance d&amp;#039;ssh-agent par utilisateurs sur une machine donnée.&lt;br /&gt;
&lt;br /&gt;
=== ssh-askpass ===&lt;br /&gt;
{{app|ssh-askpass}} est un outil simplifiant la saisie du mot de passe d&amp;#039;une clé privé lors du changement de cell-ci. Plusieurs implémentations existent:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;x11-ssh-askpass&amp;#039;&amp;#039;&amp;#039; : version X11&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;kaskpass&amp;#039;&amp;#039;&amp;#039; : intégration de ssh-askpass dans l&amp;#039;environnement KDE&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;ssh-askpass-gnome&amp;#039;&amp;#039;&amp;#039; : intégration de ssh-askpass dans l&amp;#039;environnement Gnome&lt;br /&gt;
&lt;br /&gt;
=== libpam-usb ===&lt;br /&gt;
{{package|libpam-usb}} est un outil permettant l&amp;#039;authentification avec une clé USB. Ce package inclus un outil bien pratique : &amp;#039;&amp;#039;pamusb-agent&amp;#039;&amp;#039;. Cet outil, une fois paramétré correctement, peut permettre de charger les clés SSH présentes lors que la clé USB est connectée et décharger ces clés lorsque cette dernière est déconnectée.&lt;br /&gt;
&lt;br /&gt;
== Permettre l&amp;#039;accès à un réseau de l&amp;#039;extérieur à travers un firewall sans modifier sa configuration ==&lt;br /&gt;
Par son implémentation, ssh permet transporter (&amp;quot;tunneler&amp;quot;) d&amp;#039;autres protocoles applicatives, permettant ainsi de chifferer ces protocoles.&lt;br /&gt;
&lt;br /&gt;
== Tunnel ssh pour sécuriser d&amp;#039;autres applications ==&lt;br /&gt;
== options complémentaires ==&lt;br /&gt;
&lt;br /&gt;
=== Applications graphiques (X11Forwarding) ===&lt;br /&gt;
=== pop3 ===&lt;br /&gt;
=== imap ===&lt;br /&gt;
=== smtp ===&lt;br /&gt;
== Divers ==&lt;br /&gt;
=== Les options de la ligne de commande SSH (les séquences après escape ~) ===&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~.&amp;#039;&amp;#039;&amp;#039; : Déconnexion&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~^Z&amp;#039;&amp;#039;&amp;#039; : Passe la connexion en background.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~#&amp;#039;&amp;#039;&amp;#039; : Affiche les tunnels en cours.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~&amp;amp;&amp;#039;&amp;#039;&amp;#039; : Passe la session en background lors d&amp;#039;une demande de fin de la sessiosn SSH alors qu&amp;#039;il existe un tunnel X11&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~?&amp;#039;&amp;#039;&amp;#039; : Affiche l&amp;#039;aide.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~B&amp;#039;&amp;#039;&amp;#039; : Envoie le &amp;#039;&amp;#039;break&amp;#039;&amp;#039; (uniquement en SSH2)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;~C&amp;#039;&amp;#039;&amp;#039; : Passe en mode commande. &lt;br /&gt;
&lt;br /&gt;
== Options de configuration du fichier authorized_keys ==&lt;br /&gt;
&lt;br /&gt;
Le fichier &amp;#039;&amp;#039;authorized_keys&amp;#039;&amp;#039; est le fichier contenant les clés publiques permettant à un utilisateur de s&amp;#039;authentifier à l&amp;#039;aide de sa la clé privée. Le paramètrage de ce fichier, présent dans &amp;#039;&amp;#039;~/.ssh&amp;#039;&amp;#039; peut être très utile dans certains cas. Sa syntaxe est:&lt;br /&gt;
&lt;br /&gt;
 option1,option2,optionN type-de-clef clef-en-base64 commentaire.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Les options&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;from=&amp;quot;*.domain.tld,machine.domaine2.tld&amp;quot;&amp;#039;&amp;#039;&amp;#039; : autorise uniquement la connexion depuis toutes les machines du domaine domain.tld et la machine machine.domaine2.tld&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;from=&amp;quot;badguy.domain3.tld&amp;quot;&amp;#039;&amp;#039;&amp;#039; : refuse les connexions initiées par la machine badguy.domain3.tld.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;command=&amp;quot;/path/to/command&amp;quot;&amp;#039;&amp;#039;&amp;#039; : force l&amp;#039;exécution de la commande /path/to/command&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;environnement=&amp;quot;VAR=value&amp;quot;&amp;#039;&amp;#039;&amp;#039; : permet forcer la définition des variables d&amp;#039;environnements.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;permit-open=&amp;quot;host:port&amp;quot;&amp;#039;&amp;#039;&amp;#039; : permet uniquement l&amp;#039;ouverture d&amp;#039;un tunnel vers host:port&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;no-port-forwarding&amp;#039;&amp;#039;&amp;#039; : empêche l&amp;#039;utilisation des tunnels TCP&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;no-X11-forwarding&amp;#039;&amp;#039;&amp;#039; :	empêche l&amp;#039;utilisation du tunnel X&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;no-agent-forwarding&amp;#039;&amp;#039;&amp;#039; : empêche le forwarding du &amp;#039;&amp;#039;ssh-agent&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Didier</name></author>
	</entry>
</feed>