Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
linux:ssh_en_profondeur [2009/04/27 12:08] jce |
linux:ssh_en_profondeur [2021/04/11 13:50] (Version actuelle) |
||
|---|---|---|---|
| Ligne 7: | Ligne 7: | ||
| **Niveau** : {{: | **Niveau** : {{: | ||
| - | **Résumé** : apt-get install sshfs && sshfs user@machine:/ | + | **Résumé** : apt-get install sshfs && sshfs user@machine:/ |
| ==== Sshfs ou comment vous faciliter la vie. ==== | ==== Sshfs ou comment vous faciliter la vie. ==== | ||
| Ligne 19: | Ligne 19: | ||
| Il existe "Ô miracle" | Il existe "Ô miracle" | ||
| - | < | + | < |
| $ ssh loin.tresloin.com "ls -a ~/ | $ ssh loin.tresloin.com "ls -a ~/ | ||
| > . .. README projetv1 projetv2 | > . .. README projetv1 projetv2 | ||
| Ligne 46: | Ligne 46: | ||
| | | ||
| - | tar xvfz && ./configure && make && sudo make install | + | tar xvfz && ./configure && make && sudo make install |
| L' | L' | ||
| Ligne 54: | Ligne 54: | ||
| Sur le même principe, il existe de nombreux fs dont ftpfs, bien pratique pour le développement de sites web sur un hébergement mutualisé. | Sur le même principe, il existe de nombreux fs dont ftpfs, bien pratique pour le développement de sites web sur un hébergement mutualisé. | ||
| - | ---- | ||
| ===== Connexion sans mot de passe ===== | ===== Connexion sans mot de passe ===== | ||
| Ligne 91: | Ligne 90: | ||
| < | < | ||
| $ # à mettre dans un script et a lancer à la main après chaque reboot | $ # à mettre dans un script et a lancer à la main après chaque reboot | ||
| - | $ ssh-agent | head -n 2 & | + | $ ssh-agent | head -n 2 > ~/ssh-info |
| $ source ~/ssh-info | $ source ~/ssh-info | ||
| $ ssh-add | $ ssh-add | ||
| Ligne 104: | Ligne 103: | ||
| aura accès à la clé ssh stockée dans l' | aura accès à la clé ssh stockée dans l' | ||
| - | ---- | ||
| ===== Distribution de commandes ===== | ===== Distribution de commandes ===== | ||
| Ligne 147: | Ligne 145: | ||
| [[http:// | [[http:// | ||
| - | ---- | ||
| ===== Login par clé ssh ===== | ===== Login par clé ssh ===== | ||
| Ligne 189: | Ligne 186: | ||
| Pam étant une bibliothèque, | Pam étant une bibliothèque, | ||
| - | ---- | ||
| ===== S' | ===== S' | ||
| Ligne 210: | Ligne 206: | ||
| < | < | ||
| $ telnet localhost imap | $ telnet localhost imap | ||
| - | & | + | > Trying 127.0.0.1... |
| - | & | + | > Connected to localhost. |
| - | & | + | > Escape character is ' |
| </ | </ | ||
| Si on ne connaît pas le protocole, on ne peut plus sortir de telnet car l'imap demande une séquence bien particulière pour vous déconnecter. De plus une fois connecté le ctrl-c ne fonctionne plus car il est envoyé comme tout autre caractère. Il vous faut donc donc taper " | Si on ne connaît pas le protocole, on ne peut plus sortir de telnet car l'imap demande une séquence bien particulière pour vous déconnecter. De plus une fois connecté le ctrl-c ne fonctionne plus car il est envoyé comme tout autre caractère. Il vous faut donc donc taper " | ||
| Ligne 226: | Ligne 222: | ||
| Une autre commande particulièrement utile de ssh est ~C elle permet de rentrer dans un mode commande de ssh. Help vous donnera plus d' | Une autre commande particulièrement utile de ssh est ~C elle permet de rentrer dans un mode commande de ssh. Help vous donnera plus d' | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== SXP ===== |
| + | [[http:// | ||
| Par Peck le 4 juin 2007, 20:00 - [[http:// | Par Peck le 4 juin 2007, 20:00 - [[http:// | ||
| Ligne 245: | Ligne 241: | ||
| Maintenant supposons que vous n'ayez que ssh à disposition. Hé bien il est possible de faire le même genre de chose : | Maintenant supposons que vous n'ayez que ssh à disposition. Hé bien il est possible de faire le même genre de chose : | ||
| - | $ scp user1@machine1:/ | + | |
| Le processus est alors le suivant : | Le processus est alors le suivant : | ||
| - | * scp vous connecte sur machine 1 (avec mot de passe si besoin) | + | |
| - | * puis depuis machine1, il tente de se connecter à user2@machine2 pour faire la copie (sans interaction cette fois). | + | * puis depuis machine1, il tente de se connecter à user2@machine2 pour faire la copie (sans interaction cette fois). |
| Ceci a 2 inconvénients : | Ceci a 2 inconvénients : | ||
| - | * si le flux ssh n'est pas ouvert de machine1 vers machine2 vous êtes coincés | + | |
| - | * il faut que vous puissiez vous connecter de machine1 à machine2 sans mot de passe (avec une clé et un [[http:// | + | * il faut que vous puissiez vous connecter de machine1 à machine2 sans mot de passe (avec une clé et un [[# |
| Si le flux est ouvert de machine2 vers machine1 (dans l' | Si le flux est ouvert de machine2 vers machine1 (dans l' | ||
| - | $ ssh user2@machine2 "scp user1@machine1:/ | + | |
| Et si aucun flux n'est ouvert entre machine1 et machine2 il vous reste une dernière solution : passer par votre machine de commande. Pour ne pas avoir à stocker le fichier sur votre machine (transit uniquement) utilisez la commande suivante : | Et si aucun flux n'est ouvert entre machine1 et machine2 il vous reste une dernière solution : passer par votre machine de commande. Pour ne pas avoir à stocker le fichier sur votre machine (transit uniquement) utilisez la commande suivante : | ||
| - | $ ssh user1@machine1 "cat / | + | |
| **PS** : Dans vos commandes scp, il est possible d' | **PS** : Dans vos commandes scp, il est possible d' | ||
| Ligne 269: | Ligne 265: | ||
| **PS2** : Dans vos commandes, si le nom d'un fichier local contient un ":", | **PS2** : Dans vos commandes, si le nom d'un fichier local contient un ":", | ||
| - | $ scp machine: | + | |
| - | ---- | ||
| - | ===== [[http:// | + | ===== La dure loi du ssh ===== |
| + | [[http:// | ||
| Par Peck le 19 septembre 2007, 21:45 - [[http:// | Par Peck le 19 septembre 2007, 21:45 - [[http:// | ||
| Ligne 283: | Ligne 279: | ||
| Exemple pour interdire l' | Exemple pour interdire l' | ||
| + | < | ||
| Match Group glandus | Match Group glandus | ||
| | | ||
| + | </ | ||
| Attention, toutes les lignes qui suivent un match sont liées à ce match juqu' | Attention, toutes les lignes qui suivent un match sont liées à ce match juqu' | ||
| Pour forcer l' | Pour forcer l' | ||
| + | < | ||
| Match User toto | Match User toto | ||
| | | ||
| + | </ | ||
| Pour forcer l' | Pour forcer l' | ||
| + | < | ||
| Match Host *.linux.fr | Match Host *.linux.fr | ||
| | | ||
| + | </ | ||
| Pour interdire le forwarding de port à une machine (un utilisateur un peu doué saura contourner ça) : | Pour interdire le forwarding de port à une machine (un utilisateur un peu doué saura contourner ça) : | ||
| + | < | ||
| Match Address 192.168.1.1 | Match Address 192.168.1.1 | ||
| | | ||
| + | </ | ||
| [[http:// | [[http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Aie confiance ... crois en moi... ===== |
| + | [[http:// | ||
| Par Peck le 26 septembre 2007, 22:03 - [[http:// | Par Peck le 26 septembre 2007, 22:03 - [[http:// | ||
| Ligne 318: | Ligne 320: | ||
| Vous avez tous déjà touché à un ssh. Rappelez-vous votre première connexion : | Vous avez tous déjà touché à un ssh. Rappelez-vous votre première connexion : | ||
| + | < | ||
| $ ssh 127.0.0.1 | $ ssh 127.0.0.1 | ||
| The authenticity of host ' | The authenticity of host ' | ||
| RSA key fingerprint is d9: | RSA key fingerprint is d9: | ||
| Are you sure you want to continue connecting (yes/no)? | Are you sure you want to continue connecting (yes/no)? | ||
| + | </ | ||
| Mais qu' | Mais qu' | ||
| Ligne 334: | Ligne 337: | ||
| Que faire pour éviter le désagrément de cette première connexion ? Tout dépend de votre confiance. Vous pouvez avoir une confiance absolue en votre réseau de machines : | Que faire pour éviter le désagrément de cette première connexion ? Tout dépend de votre confiance. Vous pouvez avoir une confiance absolue en votre réseau de machines : | ||
| - | $ ssh -o StrictHostKeyChecking=no mamachine.toto.net | + | |
| Ou alors vous pouvez avoir une confiance nulle et considérer toute connexion dont la clé n'a pas été ajoutée à la main comme une première connexion : | Ou alors vous pouvez avoir une confiance nulle et considérer toute connexion dont la clé n'a pas été ajoutée à la main comme une première connexion : | ||
| - | $ ssh -o StrictHostKeyChecking=yes mamachine.toto.net | + | |
| La valeur par défaut est ask et est écrite dans / | La valeur par défaut est ask et est écrite dans / | ||
| Ligne 348: | Ligne 351: | ||
| Hé bien cette chose existe ... presque. Vous pouvez mettre cette information dans votre serveur DNS sous la forme d'un champ SSHFP. | Hé bien cette chose existe ... presque. Vous pouvez mettre cette information dans votre serveur DNS sous la forme d'un champ SSHFP. | ||
| - | mamachine | + | |
| 1 et 1 indiquent les type de clé et sont suivis par la clé elle-même. | 1 et 1 indiquent les type de clé et sont suivis par la clé elle-même. | ||
| Ligne 354: | Ligne 357: | ||
| Ensuite vous vous connectez à votre machine pour la première fois | Ensuite vous vous connectez à votre machine pour la première fois | ||
| + | < | ||
| $ ssh -o VerifyHostKeyDNS=yes mamachine.toto.net | $ ssh -o VerifyHostKeyDNS=yes mamachine.toto.net | ||
| The authenticity of host ' | The authenticity of host ' | ||
| Ligne 359: | Ligne 363: | ||
| | | ||
| Are you sure you want to continue connecting (yes/no)? | Are you sure you want to continue connecting (yes/no)? | ||
| + | </ | ||
| Presque, mais ssh ne fait pas confiance à votre serveur DNS et il vous pose donc quand même la question. | Presque, mais ssh ne fait pas confiance à votre serveur DNS et il vous pose donc quand même la question. | ||
| Ligne 366: | Ligne 371: | ||
| Pour que ssh fasse confiance à votre serveur DNS, il faut que ce soit un resolver DNSSEC. C'est à dire dns sécurisé. Donc à toute allure vous installez un resolver sécurisé, une zone DNSSEC, et tadaaam : | Pour que ssh fasse confiance à votre serveur DNS, il faut que ce soit un resolver DNSSEC. C'est à dire dns sécurisé. Donc à toute allure vous installez un resolver sécurisé, une zone DNSSEC, et tadaaam : | ||
| + | < | ||
| $ ssh -o VerifyHostKeyDNS=yes mamachine.toto.net | $ ssh -o VerifyHostKeyDNS=yes mamachine.toto.net | ||
| $ hosname | $ hosname | ||
| - | & | + | > mamachine.toto.net |
| + | </ | ||
| Bravo ! vous pouvez maintenant gérer vos machines en toute quiétude. Sans vous préoccuper du fait que vous êtes en train de faire confiance à un resolver DNSSEC. Or pour ceux qui connaissent un peu, dnssec permet de faire confiance aux sources de données (le serveur qui sert la zone), mais n' | Bravo ! vous pouvez maintenant gérer vos machines en toute quiétude. Sans vous préoccuper du fait que vous êtes en train de faire confiance à un resolver DNSSEC. Or pour ceux qui connaissent un peu, dnssec permet de faire confiance aux sources de données (le serveur qui sert la zone), mais n' | ||
| Ligne 376: | Ligne 383: | ||
| Vous pouvez quand même mettre en place vos entrées SSHFP, ca sera toujours mieux que rien, vous aurez une vérification disponible. Pour ne pas devoir récupérer à la main vos entrées SSHFP, vous pouvez utiliser ssh-keygen : | Vous pouvez quand même mettre en place vos entrées SSHFP, ca sera toujours mieux que rien, vous aurez une vérification disponible. Pour ne pas devoir récupérer à la main vos entrées SSHFP, vous pouvez utiliser ssh-keygen : | ||
| + | < | ||
| $ ssh-keygen -r localhost | $ ssh-keygen -r localhost | ||
| | | ||
| | | ||
| # prêt à être inséré dans la zone DNS | # prêt à être inséré dans la zone DNS | ||
| + | </ | ||
| D' | D' | ||
| Ligne 385: | Ligne 394: | ||
| [[http:// | [[http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Nom d'une machine ! ===== |
| + | [[http:// | ||
| Par Peck le 28 octobre 2007, 19:59 - [[http:// | Par Peck le 28 octobre 2007, 19:59 - [[http:// | ||
| **Niveau** : {{: | **Niveau** : {{: | ||
| - | **Résumé** : ssh root@<tab> | + | **Résumé** : ssh root@<tab> |
| Je suis sûr qu'il vous arrive souvent de taper ssh toto@mamachine.monreseau.net. Tellement souvent que vous avez fini par modifier votre ~/ | Je suis sûr qu'il vous arrive souvent de taper ssh toto@mamachine.monreseau.net. Tellement souvent que vous avez fini par modifier votre ~/ | ||
| + | < | ||
| Host machine | Host machine | ||
| | | ||
| + | </ | ||
| Au passage vous pouvez ajouter le port et le login par défaut dans cette configuration. | Au passage vous pouvez ajouter le port et le login par défaut dans cette configuration. | ||
| + | < | ||
| Host machine | Host machine | ||
| | | ||
| Port 1022 | Port 1022 | ||
| User toto | User toto | ||
| + | </ | ||
| Bien, maintenant quelque chose de tout aussi sympathique. Il est possible de demander à bash de compléter ces noms de machine, plutôt que de les entrer tout seul comme un grand. En effet, bash dispose de la complétion sur les noms de machine. Le simple fait de préfixer un nom par @ permet à ssh de supposer que c'est un nom de machine. Mais alors comment fait-il pour les connaître tous ? Il lit la variable $HOSTFILE qui doit contenir le nom d'un fichier au format /etc/hosts. Si elle est vide il lit le fichier /etc/hosts. | Bien, maintenant quelque chose de tout aussi sympathique. Il est possible de demander à bash de compléter ces noms de machine, plutôt que de les entrer tout seul comme un grand. En effet, bash dispose de la complétion sur les noms de machine. Le simple fait de préfixer un nom par @ permet à ssh de supposer que c'est un nom de machine. Mais alors comment fait-il pour les connaître tous ? Il lit la variable $HOSTFILE qui doit contenir le nom d'un fichier au format /etc/hosts. Si elle est vide il lit le fichier /etc/hosts. | ||
| - | Donc : ssh root@l<tab& | + | Donc : ssh root@l<tab> complète toujours au moins par localhost (ou presque). |
| Bien, mais nous n' | Bien, mais nous n' | ||
| Ligne 414: | Ligne 427: | ||
| Non, nous allons faire mieux. Hop un script shell : | Non, nous allons faire mieux. Hop un script shell : | ||
| + | <code bash> | ||
| # | # | ||
| Ligne 423: | Ligne 437: | ||
| # machines à ajouter à la main (l'IP b'est pas vraiment obligatoire) | # machines à ajouter à la main (l'IP b'est pas vraiment obligatoire) | ||
| - | | + | |
| 1 mamachine.youpi.fr | 1 mamachine.youpi.fr | ||
| 2 tamachine.youpi.fr | 2 tamachine.youpi.fr | ||
| Ligne 430: | Ligne 444: | ||
| for domaine in $DOMAINS | for domaine in $DOMAINS | ||
| do | do | ||
| - | dig $domaine axfr | egrep " | + | dig $domaine axfr | egrep " |
| done | done | ||
| + | </ | ||
| Bien sûr on pourrait le faire en perl, d' | Bien sûr on pourrait le faire en perl, d' | ||
| Ligne 437: | Ligne 452: | ||
| Maintenant il vous reste à le lancer (au moins une fois), à ajouter une ligne dans votre .bashrc : | Maintenant il vous reste à le lancer (au moins une fois), à ajouter une ligne dans votre .bashrc : | ||
| + | <code bash> | ||
| | | ||
| / | / | ||
| + | </ | ||
| Et à ajouter ce script dans une crontab pour être toujours à jour de la liste de vos machines. | Et à ajouter ce script dans une crontab pour être toujours à jour de la liste de vos machines. | ||
| Ligne 444: | Ligne 461: | ||
| Attention, si vous avez un bash récent avec une distrib sympa, la complétion par HOSTFILE est désactivée et est remplacée par une complétion par known_hosts. Si vous voulez la réactiver, il faut taper la commande suivante (ou ne pas inclure le / | Attention, si vous avez un bash récent avec une distrib sympa, la complétion par HOSTFILE est désactivée et est remplacée par une complétion par known_hosts. Si vous voulez la réactiver, il faut taper la commande suivante (ou ne pas inclure le / | ||
| - | $ shopt -s hostcomplete | + | <code bash> |
| + | $ shopt -s hostcomplete | ||
| + | </ | ||
| - | Si vous préférez la complétion telle que définie dans le bash_completion, | + | Si vous préférez la complétion telle que définie dans le bash_completion, |
| - | ---- | ||
| - | ===== [[http:// | + | ===== article suivant ===== |
| + | [[http:// | ||
| Par Peck le 29 octobre 2007, 19:41 - [[http:// | Par Peck le 29 octobre 2007, 19:41 - [[http:// | ||
| **Niveau** : {{: | **Niveau** : {{: | ||
| - | **Résumé** : ssh root@<tab> | + | **Résumé** : ssh root@<tab> |
| - | Rappelons le [[http:// | + | Rappelons le [[# |
| + | <code bash> | ||
| # | # | ||
| Ligne 468: | Ligne 488: | ||
| # machines à ajouter à la main (plus d'ip du tout) | # machines à ajouter à la main (plus d'ip du tout) | ||
| - | | + | |
| | | ||
| | | ||
| Ligne 475: | Ligne 495: | ||
| for domaine in $DOMAINS | for domaine in $DOMAINS | ||
| do | do | ||
| - | dig $domaine axfr | egrep " | + | dig $domaine axfr | egrep " |
| done | done | ||
| # grep pour quelques petits bugs | # grep pour quelques petits bugs | ||
| - | grep -v " | + | grep -v " |
| + | </ | ||
| Petit inconvénient, | Petit inconvénient, | ||
| Ligne 491: | Ligne 512: | ||
| Vous abandonnerez donc une protection (somme toute légère), et en contrepartie vous avez une complétion avancée sous bash. Mieux, si votre agent tourne et que vous avez poussé vos clés sur les machines en question, la complétion fonctionnera aussi sur les noms de fichiers distants, exemple : | Vous abandonnerez donc une protection (somme toute légère), et en contrepartie vous avez une complétion avancée sous bash. Mieux, si votre agent tourne et que vous avez poussé vos clés sur les machines en question, la complétion fonctionnera aussi sur les noms de fichiers distants, exemple : | ||
| - | $ scp toto@machine:/ | + | |
| Victoire ! | Victoire ! | ||
| Ligne 497: | Ligne 518: | ||
| [[http:// | [[http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Discussion assistée par ordinateur ===== |
| + | [[http:// | ||
| Par Peck le 18 novembre 2007, 22:25 - [[http:// | Par Peck le 18 novembre 2007, 22:25 - [[http:// | ||
| Ligne 530: | Ligne 551: | ||
| Pour le lancer : | Pour le lancer : | ||
| - | $ screen -S irc | + | |
| - | $ irssi | + | $ irssi |
| Puis pour vous y reconnecter : | Puis pour vous y reconnecter : | ||
| - | $ screen -d -r irc | + | |
| Sachant que votre machine irssi sera distante de temps en temps, créez vous un alias pour vous connecter à irc : | Sachant que votre machine irssi sera distante de temps en temps, créez vous un alias pour vous connecter à irc : | ||
| - | alias irc=" | + | |
| Irssi dispose de [[http:// | Irssi dispose de [[http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Agent 007, espion infiltré ===== |
| + | [[http:// | ||
| Par Peck le 17 décembre 2007, 23:29 - [[http:// | Par Peck le 17 décembre 2007, 23:29 - [[http:// | ||
| Ligne 552: | Ligne 573: | ||
| **Résumé** : ssh-agent ; ssh-add | **Résumé** : ssh-agent ; ssh-add | ||
| - | Comme je l'ai déjà [[http:// | + | Comme je l'ai déjà [[# |
| L' | L' | ||
| Ligne 562: | Ligne 583: | ||
| Pour avoir la liste des agents disponibles : | Pour avoir la liste des agents disponibles : | ||
| - | $ ls -ld /tmp/ssh-* | grep `whoami` | + | <code bash> |
| + | $ ls -ld /tmp/ssh-* | grep `whoami` | ||
| + | </ | ||
| Mais attention, cela contient aussi les socket ouvertes pas les ssh qui se sont connectés avec le forwarding d' | Mais attention, cela contient aussi les socket ouvertes pas les ssh qui se sont connectés avec le forwarding d' | ||
| - | | + | <code bash> |
| + | | ||
| + | </ | ||
| Maintenant, pour la réutiliser, | Maintenant, pour la réutiliser, | ||
| - | $ export SSH_AUTH_SOCK=/ | + | <code bash> |
| - | $ ssh nouvelle.machine | + | $ export SSH_AUTH_SOCK=/ |
| - | # et voila ! | + | $ ssh nouvelle.machine |
| + | # et voila ! | ||
| + | </ | ||
| C'est bien pratique, mais n' | C'est bien pratique, mais n' | ||
| - | $ ssh-add -t 600 | + | <code bash> |
| + | $ ssh-add -t 600 | ||
| + | </ | ||
| - | ---- | + | ===== Un tien vaut mieux que deux connexions ===== |
| - | + | ||
| - | ===== [[http:// | + | |
| + | [[http:// | ||
| Par Peck le 15 février 2008, 23:47 - [[http:// | Par Peck le 15 février 2008, 23:47 - [[http:// | ||
| Ligne 591: | Ligne 619: | ||
| Il est plus judicieux de ne faire qu'une seule connexion ssh et de multiplexer toutes vos commandes par dessus (soit à cause de la faiblesse de la machine, soit parce que vous faites un grand nombre de connexions). Heureusement, | Il est plus judicieux de ne faire qu'une seule connexion ssh et de multiplexer toutes vos commandes par dessus (soit à cause de la faiblesse de la machine, soit parce que vous faites un grand nombre de connexions). Heureusement, | ||
| + | <code BASH> | ||
| # première connexion | # première connexion | ||
| $ ssh -M -S /tmp/master mamachine.net | $ ssh -M -S /tmp/master mamachine.net | ||
| Ligne 596: | Ligne 625: | ||
| # deuxième connexion | # deuxième connexion | ||
| $ ssh -S /tmp/master mamachine.net | $ ssh -S /tmp/master mamachine.net | ||
| + | </ | ||
| La deuxième connexion est infiniment plus rapide (ajoutez l' | La deuxième connexion est infiniment plus rapide (ajoutez l' | ||
| Ligne 601: | Ligne 631: | ||
| Remarquez que vous pouvez utiliser n' | Remarquez que vous pouvez utiliser n' | ||
| - | $ ssh -M -S /tmp/master mamachine.net | + | <code bash> |
| - | # mamachine.net ou azerty c'est pareil | + | $ ssh -M -S /tmp/master mamachine.net |
| - | $ ssh -S /tmp/master azerty | + | # mamachine.net ou azerty c'est pareil |
| + | $ ssh -S /tmp/master azerty | ||
| + | </ | ||
| [[http:// | [[http:// | ||
| - | %block bgcolor=# | ||
| - | |||
| - | %snoopy%1. Le 18 février 2008, 11:25 par Simon\\ | ||
| - | \\ | ||
| - | Et pour automatiser l' | ||
| + | >Le 18 février 2008, 11:25 par Simon | ||
| + | >Et pour automatiser l' | ||
| + | <code bash> | ||
| cat >> ~/ | cat >> ~/ | ||
| Host * | Host * | ||
| Ligne 617: | Ligne 646: | ||
| | | ||
| EOF | EOF | ||
| - | %snoopy%(outrageusement copié depuis http:// | + | </ |
| + | >(outrageusement copié depuis http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Donner sa la langue au sshat ===== |
| + | [[http:// | ||
| Par Peck le 19 mars 2008, 22:54 - [[http:// | Par Peck le 19 mars 2008, 22:54 - [[http:// | ||
| Ligne 637: | Ligne 666: | ||
| Étant des variables d' | Étant des variables d' | ||
| - | $ locale | + | |
| Pour la changer : | Pour la changer : | ||
| + | < | ||
| # on liste les locales disponibles | # on liste les locales disponibles | ||
| $ locale -a | $ locale -a | ||
| # on en choisit une | # on en choisit une | ||
| $ export LANG=fr_FR | $ export LANG=fr_FR | ||
| + | </ | ||
| À ajouter dans votre .bashrc pour conserver la chose un peu plus longtemps (attention, gnome et kde '' | À ajouter dans votre .bashrc pour conserver la chose un peu plus longtemps (attention, gnome et kde '' | ||
| Ligne 652: | Ligne 683: | ||
| Pour les systèmes utilisant pam (su, login, kdm, gdm, ...) vous pouvez aller lire les / | Pour les systèmes utilisant pam (su, login, kdm, gdm, ...) vous pouvez aller lire les / | ||
| - | auth required | + | |
| indiquant où chercher vos variables. | indiquant où chercher vos variables. | ||
| Ligne 660: | Ligne 691: | ||
| Sur le serveur, dans / | Sur le serveur, dans / | ||
| - | # on autorise le client a jouer avec les locales à la connexion | + | |
| - | | + | AcceptEnv LANG LC_* |
| Sur le client, de préférence dans / | Sur le client, de préférence dans / | ||
| - | Host * | + | |
| - | # on envoit nos locales au serveur | + | # on envoit nos locales au serveur |
| - | | + | SendEnv LANG LC_* |
| Et voilà, pour peu que votre / | Et voilà, pour peu que votre / | ||
| Ligne 673: | Ligne 704: | ||
| [[http:// | [[http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Le travail à la chaîne, c'est has been. ===== |
| + | [[http:// | ||
| Par ebzao le 21 mars 2008, 23:44 - [[http:// | Par ebzao le 21 mars 2008, 23:44 - [[http:// | ||
| Ligne 684: | Ligne 715: | ||
| Bonjour à tous, très honoré d' | Bonjour à tous, très honoré d' | ||
| - | Pour rebondir sur un [[http:// | + | Pour rebondir sur un [[# |
| ==== Konsole et dsh, les ancêtres ==== | ==== Konsole et dsh, les ancêtres ==== | ||
| - | Comme Peck [[http:// | + | Comme Peck [[# |
| - | Avec Konsole : préparez dans une même fenêtre une machine à contrôler par onglet, puis dans les menus : '' | + | Avec Konsole : préparez dans une même fenêtre une machine à contrôler par onglet, puis dans les menus : '' |
| Avec dsh : | Avec dsh : | ||
| Ligne 699: | Ligne 730: | ||
| dsh -m machine1 -m machine2 -m ... "echo $HOSTNAME" | dsh -m machine1 -m machine2 -m ... "echo $HOSTNAME" | ||
| - | dsh -m machine1 -m machine2 -m ... 'echo $HOSTNAME' | + | |
| - | [[http:// | + | [[# |
| ==== clusterssh et clusterm ==== | ==== clusterssh et clusterm ==== | ||
| Ligne 709: | Ligne 740: | ||
| Vous pouvez définir vos groupes de machines dans le fichier / | Vous pouvez définir vos groupes de machines dans le fichier / | ||
| - | groupe1 machine1 machine2 machine3 machine4 machine5 machine6 machine7 machine8 machine9 | + | |
| - | | + | groupe2 machine10 machine11 machine12 machine13 machine14 machine15 |
| - | all groupe1 groupe2 | + | all groupe1 groupe2 |
| Dès lors, un | Dès lors, un | ||
| - | cssh groupe1 # vous ouvre un terminal sur machine1 à machine 9 | + | |
| - | cssh groupe2 # vous ouvre un terminal sur machine10 à machine15 | + | cssh groupe2 # vous ouvre un terminal sur machine10 à machine15 |
| - | cssh all # pour machine1 à machine15 | + | cssh all # pour machine1 à machine15 |
| Si vous avez des ports particuliers, | Si vous avez des ports particuliers, | ||
| Ligne 737: | Ligne 768: | ||
| Le plus simple est de lire ce qu' | Le plus simple est de lire ce qu' | ||
| - | * Parallel ssh (parallel-ssh, | + | |
| - | * Parallel scp (parallel-scp, | + | * Parallel scp (parallel-scp, |
| - | * Parallel rsync (parallel-rsync, | + | * Parallel rsync (parallel-rsync, |
| - | * Parallel nuke (parallel-nuke, | + | * Parallel nuke (parallel-nuke, |
| - | * Parallel slurp (parallel-slurp, | + | * Parallel slurp (parallel-slurp, |
| + | < | ||
| # Tout d' | # Tout d' | ||
| | | ||
| Ligne 756: | Ligne 788: | ||
| # Pousser un fichier localement sur toutes les machines | # Pousser un fichier localement sur toutes les machines | ||
| | | ||
| + | </ | ||
| ==== Ailleurs ==== | ==== Ailleurs ==== | ||
| Ligne 765: | Ligne 798: | ||
| [[http:// | [[http:// | ||
| - | ---- | ||
| - | ===== [[http:// | + | ===== Nouveautés chez les poissons ===== |
| + | [[http:// | ||
| Par Peck le 24 juillet 2008, 22:29 - [[http:// | Par Peck le 24 juillet 2008, 22:29 - [[http:// | ||
| Ligne 782: | Ligne 815: | ||
| Commençons par une nouvelle option de sshd : | Commençons par une nouvelle option de sshd : | ||
| - | $ sshd -T | + | |
| Cette option permet de tester la configuration du serveur. Ce genre d' | Cette option permet de tester la configuration du serveur. Ce genre d' | ||
| Ligne 790: | Ligne 823: | ||
| Ensuite, une nouvelle option de ssh (qui n'est pas activée par défaut) : | Ensuite, une nouvelle option de ssh (qui n'est pas activée par défaut) : | ||
| - | $ ssh -o " | + | |
| Cette option affiche une interprétation du fingerprint de la machine distante sous forme d' | Cette option affiche une interprétation du fingerprint de la machine distante sous forme d' | ||