Outils pour utilisateurs

Outils du site


start:raspberry:ssh:doc

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
start:raspberry:ssh:doc [2022/11/12 17:11] – [Installation] gerardadminstart:raspberry:ssh:doc [2023/01/27 16:08] (Version actuelle) – modification externe 127.0.0.1
Ligne 33: Ligne 33:
 Une séquence de connexion se passe comme ceci du côté client ("geek" sur "bureau" dans notre exemple) :\\ Une séquence de connexion se passe comme ceci du côté client ("geek" sur "bureau" dans notre exemple) :\\
  
-<code>$ ssh famille@192.168.1.2+<code> 
 +$ ssh famille@192.168.1.2
 famille@192.168.1.2 passwd: famille@192.168.1.2 passwd:
 </code> </code>
Ligne 40: Ligne 41:
 Lors de la première connexion uniquement vous recevrez un avertissement car le serveur auquel vous vous connectez n'est pas "connu", "ssh" vous demandera si vous acceptez de l'ajouter à la liste des serveurs de confiance, répondez "oui".\\ Lors de la première connexion uniquement vous recevrez un avertissement car le serveur auquel vous vous connectez n'est pas "connu", "ssh" vous demandera si vous acceptez de l'ajouter à la liste des serveurs de confiance, répondez "oui".\\
  
-<code>$ ssh famille@192.168.1.2+<code >$ ssh famille@192.168.1.2
 famille@192.168.1.2 passwd: famille@192.168.1.2 passwd:
  
Ligne 61: Ligne 62:
 Ce fonctionnement basique peut tout à fait suffire dans un contexte d'usage personnel, mais on peut faire mieux. Nous allons faire un tour dans la configuration.\\ Ce fonctionnement basique peut tout à fait suffire dans un contexte d'usage personnel, mais on peut faire mieux. Nous allons faire un tour dans la configuration.\\
  
-<wrap info>Si l'utilisateur du poste client dispose d'un compte sur la machine serveur, il peut se connecter en indiquant simplement l'adresse ip du serveur, sans préciser de nom de login (la partie "user@").</wrap>+<note tip>Si l'utilisateur du poste client dispose d'un compte sur la machine serveur, il peut se connecter en indiquant simplement l'adresse ip du serveur, sans préciser de nom de login (la partie "user@").</note>
  
 ====Configuration==== ====Configuration====
Ligne 74: Ligne 75:
 Pour améliorer la sécurité on pourra commencer par ces options dans sshd_config :\\ Pour améliorer la sécurité on pourra commencer par ces options dans sshd_config :\\
  
-<WRAP tip>Après tout changement de configuration de "sshd" vous devez redémarrer le service, sinon la nouvelle configuration ne sera pas prise en compte. Un moyen simple est d'appeler le script d'initialisation comme ceci :+<note tip>Après tout changement de configuration de "sshd" vous devez redémarrer le service, sinon la nouvelle configuration ne sera pas prise en compte. Un moyen simple est d'appeler le script d'initialisation comme ceci :
 <code># /etc/init.d/ssh restart</code> <code># /etc/init.d/ssh restart</code>
-</WRAP>+</note>
  
   * Retirer l'autorisation de se connecter depuis le compte du super-utilisateur "root". C'est généralement inutile et cela peu représenter un risque pour la sécurité. Une fois connecté on peut si nécessaire de toute façon obtenir des droits root avec [[commande:su_sudo:|"su" ou "sudo"]]. On s'assurera d'avoir la ligne :\\   * Retirer l'autorisation de se connecter depuis le compte du super-utilisateur "root". C'est généralement inutile et cela peu représenter un risque pour la sécurité. Une fois connecté on peut si nécessaire de toute façon obtenir des droits root avec [[commande:su_sudo:|"su" ou "sudo"]]. On s'assurera d'avoir la ligne :\\
Ligne 110: Ligne 111:
 Si vous souhaitez que ce changement soit permanent, modifiez la directive "port" de la même façon que pour "sshd_config" dans "/etc/ssh_config" sur le(s) poste(s) client(s). Dans ce cas vous n'aurez plus à utiliser l'option "**-p**".\\ Si vous souhaitez que ce changement soit permanent, modifiez la directive "port" de la même façon que pour "sshd_config" dans "/etc/ssh_config" sur le(s) poste(s) client(s). Dans ce cas vous n'aurez plus à utiliser l'option "**-p**".\\
  
-<WRAP tip>Avant de choisir un port arbitrairement, consultez la [[http://www.frameip.com/liste-des-ports-tcp-udp/|listes des ports réservés]] et ne choisissez pas un de ceux qui sont employés de manière standard pour d'autres services. D'une manière générale n'employez jamais un port inférieur à 1024.</WRAP>+<note tip>Avant de choisir un port arbitrairement, consultez la [[http://www.frameip.com/liste-des-ports-tcp-udp/|listes des ports réservés]] et ne choisissez pas un de ceux qui sont employés de manière standard pour d'autres services. D'une manière générale n'employez jamais un port inférieur à 1024.</note>
  
   * Forcer ssh à n'écouter que sur une interface. Si vous avez plusieurs interfaces réseau, vous pouvez restreindre l'écoute de sshd sur l'une d'elles avec :\\   * Forcer ssh à n'écouter que sur une interface. Si vous avez plusieurs interfaces réseau, vous pouvez restreindre l'écoute de sshd sur l'une d'elles avec :\\
Ligne 169: Ligne 170:
  
 La première étape consiste à générer la paire de clés, qui se compose d'une clé "publique", que nous communiquerons au serveur ("salon"), et d'une clé "privée", qui restera sur l'ordinateur client ("bureau"). La paire de clés générée sera cryptée selon un algorithme choisi au moment de la création, "rsa" ou "dsa" généralement. Peu importe ce que vous choisirez dans un cadre familiale, si rien n'est précisé c'est le choix par défaut qui s'appliquera.\\ La première étape consiste à générer la paire de clés, qui se compose d'une clé "publique", que nous communiquerons au serveur ("salon"), et d'une clé "privée", qui restera sur l'ordinateur client ("bureau"). La paire de clés générée sera cryptée selon un algorithme choisi au moment de la création, "rsa" ou "dsa" généralement. Peu importe ce que vous choisirez dans un cadre familiale, si rien n'est précisé c'est le choix par défaut qui s'appliquera.\\
 +
 La paire de clés peut être protégée par mot de passe ou pas, à votre guise. Si vous choisissez un mot de passe l'authentification se déroulera en deux étapes, la comparaison des clés publique et privée, ainsi qu'une demande de mot de passe. Cette méthode procure un niveau de sécurité élevé (si le mot de passe est bien choisi), mais nécessite de ne pas oublier le mot de passe, de le taper à chaque connexion (des programmes permettent d'alléger cette contrainte en stockant temporairement le mot de passe), et peut bloquer l'utilisation de certains services à distance qui requièrent un accès ssh sans mot de passe (programme de sauvegarde à distance, montage automatique d'un répertoire distant avec "sshfs", etc...).\\ La paire de clés peut être protégée par mot de passe ou pas, à votre guise. Si vous choisissez un mot de passe l'authentification se déroulera en deux étapes, la comparaison des clés publique et privée, ainsi qu'une demande de mot de passe. Cette méthode procure un niveau de sécurité élevé (si le mot de passe est bien choisi), mais nécessite de ne pas oublier le mot de passe, de le taper à chaque connexion (des programmes permettent d'alléger cette contrainte en stockant temporairement le mot de passe), et peut bloquer l'utilisation de certains services à distance qui requièrent un accès ssh sans mot de passe (programme de sauvegarde à distance, montage automatique d'un répertoire distant avec "sshfs", etc...).\\
 +
 À vous de choisir ce qui est le plus adapté à votre cas, si vous optez pour une paire de clés sans mot de passe, veillez simplement à ne pas "égarer" une copie de votre clé privée, et soyez conscient que quiconque a accès au poste client aura également accès au poste qui fait tourner "sshd".\\ À vous de choisir ce qui est le plus adapté à votre cas, si vous optez pour une paire de clés sans mot de passe, veillez simplement à ne pas "égarer" une copie de votre clé privée, et soyez conscient que quiconque a accès au poste client aura également accès au poste qui fait tourner "sshd".\\
  
Ligne 178: Ligne 181:
 Choisissez un mot de passe "fort", du type de ceux que l'on réserve au compte root, avec des lettres, chiffres, différentes casses et des symboles éventuellement. Au minimum 10 caractères, et ni de noms propres, dates de naissances ou mot existant dans un dictionnaire (peu importe la langue), ces précautions vous prémuniront contre les attaques qui consistent à tester un grand nombre de mots de passes courants à l'aide de programmes spécialisés. Cela n'est important que si votre utilisation de ssh passe par le réseau Internet, si elle ne concerne que votre réseau local comme dans notre exemple le nom du chat fera l'affaire ! Si vous voulez générer des clés sans mot de passe, laisser blanc.\\ Choisissez un mot de passe "fort", du type de ceux que l'on réserve au compte root, avec des lettres, chiffres, différentes casses et des symboles éventuellement. Au minimum 10 caractères, et ni de noms propres, dates de naissances ou mot existant dans un dictionnaire (peu importe la langue), ces précautions vous prémuniront contre les attaques qui consistent à tester un grand nombre de mots de passes courants à l'aide de programmes spécialisés. Cela n'est important que si votre utilisation de ssh passe par le réseau Internet, si elle ne concerne que votre réseau local comme dans notre exemple le nom du chat fera l'affaire ! Si vous voulez générer des clés sans mot de passe, laisser blanc.\\
  
-<WRAP info>Si pour des raisons de compatibilité vous devez créer des clés compatibles avec le protocole "sshv1" (l'ancien protocole, aujourd'hui remplacé par la version 2), vous pouvez indiquer le type de clé à créer avec l'option "**-t**". Pour une clé rsa version 1 vous indiquerez "**ssh-keygen -t rsa1**". Vous pouvez également choisir une clé "dsa" au lieux du choix par défaut "rsa" ("dsa" et "rsa" sont uniquement compatibles avec la version 2 de ssh)</WRAP>+<note warning>Si pour des raisons de compatibilité vous devez créer des clés compatibles avec le protocole "sshv1" (l'ancien protocole, aujourd'hui remplacé par la version 2), vous pouvez indiquer le type de clé à créer avec l'option "**-t**". Pour une clé rsa version 1 vous indiquerez "**ssh-keygen -t rsa1**". Vous pouvez également choisir une clé "dsa" au lieux du choix par défaut "rsa" ("dsa" et "rsa" sont uniquement compatibles avec la version 2 de ssh)</note>
  
  
Ligne 196: Ligne 199:
 <code>$ cat ~/.ssh/id_rsa.pub | ssh famille@192.168.1.2 tee -a ~/.ssh/authorized_keys</code> <code>$ cat ~/.ssh/id_rsa.pub | ssh famille@192.168.1.2 tee -a ~/.ssh/authorized_keys</code>
  
-<wrap info>Certaines versions de "ssh" n'autorisent pas la connexion en "strict mode" si la clé publique est toujours présente dans "~/.ssh/" sur le client. Il faut donc la copier ailleurs et l'effacer.</wrap>+<note>Certaines versions de "ssh" n'autorisent pas la connexion en "strict mode" si la clé publique est toujours présente dans "~/.ssh/" sur le client. Il faut donc la copier ailleurs et l'effacer.</note>
  
 Si le répertoire "~/.ssh" n'existe pas encore il faut le créer, pour cela on se connecte avec "ssh" sur le serveur, et on y effectue les opérations nécessaires :\\ Si le répertoire "~/.ssh" n'existe pas encore il faut le créer, pour cela on se connecte avec "ssh" sur le serveur, et on y effectue les opérations nécessaires :\\
Ligne 355: Ligne 358:
 Bien sûr cela fonctionne même si "salon" ne dispose normalement pas d'un accès Internet, mais simplement d'un accès au réseau local, alors que l'utilisateur "geek" sur "bureau" dispose lui d'un accès Internet. On comprend bien que ces mécanismes de "tunnel" peuvent facilement servir à contourner un pare-feu, un routeur utilisant le NAT ou même un système de filtrage basé sur un proxy (type "protection parentale"). Le "tunnel ssh" est très pratique dans certains usages, il peut être un cauchemar pour un administrateur réseau en permettant aux utilisateurs de "s'évader" du réseau local, et de créer par la même occasion des failles de sécurité... Tout dépend de l'usage qu'on en fait.\\ Bien sûr cela fonctionne même si "salon" ne dispose normalement pas d'un accès Internet, mais simplement d'un accès au réseau local, alors que l'utilisateur "geek" sur "bureau" dispose lui d'un accès Internet. On comprend bien que ces mécanismes de "tunnel" peuvent facilement servir à contourner un pare-feu, un routeur utilisant le NAT ou même un système de filtrage basé sur un proxy (type "protection parentale"). Le "tunnel ssh" est très pratique dans certains usages, il peut être un cauchemar pour un administrateur réseau en permettant aux utilisateurs de "s'évader" du réseau local, et de créer par la même occasion des failles de sécurité... Tout dépend de l'usage qu'on en fait.\\
  
-<WRAP info>Le port 80 que nous avons "exporté" dans le dernier exemple est celui qui sert aux serveurs Internet comme "apache", et celui qu'utilisent les navigateurs Internet pour se connecter. Pour que "l'export" avec un "tunnel ssh" fonctionne il faut que ce port soit libre, c'est à dire qu'un navigateur Internet ou un autre service ne soit pas en fonction sur ce port.</WRAP>+<note tip>Le port 80 que nous avons "exporté" dans le dernier exemple est celui qui sert aux serveurs Internet comme "apache", et celui qu'utilisent les navigateurs Internet pour se connecter. Pour que "l'export" avec un "tunnel ssh" fonctionne il faut que ce port soit libre, c'est à dire qu'un navigateur Internet ou un autre service ne soit pas en fonction sur ce port.</note>
  
-<WRAP danger>Si vous utilisez les "tunnel ssh" pour contourner un pare-feu ou un proxy à votre travail, dans votre université ou autres cas similaires, vous vous exposez à des sanctions extrêmement graves. En utilisant cette technique vous ouvrez l'ordinateur au réseau Internet, offrant une porte d'entrée potentielle à des pirates que les administrateurs réseau s'efforcent de tenir à l'écart. Si un piratage résulte de votre "bidouillage" vous pourrez être condamné à payer des dommages et intérêts colossaux, en plus d'être renvoyé bien sûr... À bon entendeur.</WRAP>+<note warning>Si vous utilisez les "tunnel ssh" pour contourner un pare-feu ou un proxy à votre travail, dans votre université ou autres cas similaires, vous vous exposez à des sanctions extrêmement graves. En utilisant cette technique vous ouvrez l'ordinateur au réseau Internet, offrant une porte d'entrée potentielle à des pirates que les administrateurs réseau s'efforcent de tenir à l'écart. Si un piratage résulte de votre "bidouillage" vous pourrez être condamné à payer des dommages et intérêts colossaux, en plus d'être renvoyé bien sûr... À bon entendeur.</note>
  
  
Ligne 373: Ligne 376:
  
 {{ commande:ssh:firefox_sshproxy1.png?480 }} {{ commande:ssh:firefox_sshproxy1.png?480 }}
 +{{ :start:raspberry:ssh:firefox_sshproxy1.jpg?direct&600 |}}
  
  
Ligne 618: Ligne 622:
   * Sur Windows le logiciel "**putty**" peut agir comme un client ssh, avec une interface graphique.\\   * Sur Windows le logiciel "**putty**" peut agir comme un client ssh, avec une interface graphique.\\
  
-  * Certains gestionnaires de fichiers, comme [[konqueror:konqueror:|Konqueror]] ou [[midnight_commander:|Midnight Commander]], supportent le protocole "**fish**" basé sur ssh, tapez juste dans la barre d'url "%%fish://famille@192.168.1.2%%" (sans guillemets) et vous naviguerez dans l'arborescence de fichiers distante via ssh. Mais la ligne de commande est tellement plus simple...\\+  * Certains gestionnaires de fichiers, comme [[https://www.linuxpedia.fr/doku.php/konqueror/konqueror|Konqueror]] ou [[https://www.linuxpedia.fr/doku.php/midnight_commander|Midnight Commander]], supportent le protocole "**fish**" basé sur ssh, tapez juste dans la barre d'url "%%fish://famille@192.168.1.2%%" (sans guillemets) et vous naviguerez dans l'arborescence de fichiers distante via ssh. Mais la ligne de commande est tellement plus simple...\\
  
   * Si vous testez des configurations hasardeuses, qui nécessitent un redémarrage du démon "sshd" et risquent de vous faire perdre l'accès au serveur "ssh" en cas d'erreur, vous pouvez utiliser "[[http://www.webmin.com/index.html|webmin]]" comme "assurance". "webmin" est une interface "web" de configuration de différents services, elle est accessible à distance avec un simple navigateur Internet, et couvre la configuration de ssh. Bien que "webmin" n'ait pas toujours une bonne réputation quant à sa sécurité, cela peut constituer une bonne "assurance" le temps d'être sûr de votre configuration "ssh".\\   * Si vous testez des configurations hasardeuses, qui nécessitent un redémarrage du démon "sshd" et risquent de vous faire perdre l'accès au serveur "ssh" en cas d'erreur, vous pouvez utiliser "[[http://www.webmin.com/index.html|webmin]]" comme "assurance". "webmin" est une interface "web" de configuration de différents services, elle est accessible à distance avec un simple navigateur Internet, et couvre la configuration de ssh. Bien que "webmin" n'ait pas toujours une bonne réputation quant à sa sécurité, cela peut constituer une bonne "assurance" le temps d'être sûr de votre configuration "ssh".\\
Ligne 631: Ligne 635:
  
  
-[[http://www.linuxpedia.fr/forum/index.php?action=pm;sa=send;u=15|Envoyer un message au mainteneur]] 
  
 ================================================================== ==================================================================
  
  
/home/chanteri/www/fablab37110/data/attic/start/raspberry/ssh/doc.1668269467.txt.gz · Dernière modification : 2023/01/27 16:08 (modification externe)