((/public/SSH/ssh.png|SSH|L|SSH, août 2010)) [SSH|tag:SSH] est tout de même un protocole vraiment formidable pour accéder à un serveur distant. Une petite [ligne de commande|tag:Ligne de commande], un mot de passe (et/ou une clef publique) et hop, c’est comme si on était sur la machine qui se situe parfois à je ne sais quelle distance de nous, le tout sécurisé ! Que demander de plus ?%%% Cela dit, si vous êtes comme moi, vous en avez peut-être légèrement marre de taper la ligne de commande de connexion :%%% @@ssh username@monhostquiestparfoisuneadresseIPcompliquee@@%%% Ou pire s’il faut préciser une clef DSA ou RSA :%%% @@ssh -i cheminversmaclefengeneralpastrescourt/maclef username@monhostquiestparfoisuneadresseIPcompliquee@@%%%
Heureusement on peut configurer sa machine (celle sur laquelle on écrit la ligne de commande @@ssh …@@) pour nous faciliter la tâche. Sous [Windows|tag:Windows] ou [Linux|tag:Linux], il suffit de créer (ou modifier) un fichier nommé config dans @@~/.ssh/@@ (le tild ~ représente le répertoire de l’utilisateur. En vrai, sur mon Windows, j’ai dû le mettre dans C:/.ssh/config, mais j’ai installé mon Putty un peu bizarrement.) et de créer un alias pour tous les serveurs auxquels on souhaite se connecter facilement : /// Host alias Hostname monhostquiestparfoisuneadresseIPcompliquee User username Host autreServeur Hostname monAutreServeur User monusername /// Et avec ça, on n’a plus qu’à écrire : @@ssh alias@@ ou @@ssh autreServeur@@ pour se connecter à nos deux serveurs ! Ce qui est tout de même bien plus agréable, non ?%%% Pour préciser le chemin vers une clef publique (DSA ou RSA) : /// Host monServeur1 Hostname serveur1 User moi IdentityFile C:/Documents and Settings/moi/.ssh/cle_dsa /// Pour se connecter en SSH derrière un proxy HTTP : /// Host monServeur1 Hostname serveur1 User moi ProxyCommand connect-proxy -H adresse.du_proxy:port %h %p /// Bien sûr, il n’est pas obligatoire de préciser « Hostname » ou « User », Si je veux simplement configurer le chemin vers mon fichier contenant une clef publique, il me suffit d’utiliser directement le nom du serveur après « Host » et de préciser « IdentifyFile ». Comme suit : /// Host serveur1 IdentityFile C:/Documents and Settings/moi/.ssh/cle_dsa /// Du coup, à chaque fois que je tenterai de me connecter au serveur « serveur1″, la clef publique sera automatiquement utilisée.%%% %%% Bref, ce petit fichier de configuration, rapide à remplir, peut faire gagner pas mal de temps. A noter que sous Linux, on peut créer le fichier @@/etc/ssh/ssh_config@@ avec le même contenu, ce qui aura pour effet de rendre ces paramètres accessibles à tous les utilisateurs. !!! On en parle ailleurs * [Man page de ssh_config|http://www.delafond.org/traducmanfr/man/man5/ssh_config.5.html], en français * [Tout un tutoriel sur SSH|http://okki666.free.fr/docmaster/articles/linux123.html] * [Doc Ubuntu sur SSH|http://doc.ubuntu-fr.org/ssh], décidément la communauté d’Ubuntu est toujours aussi active. !!! A noter Je viens de faire un test des plus bizarres. Sur un serveur, lorsque j’écris @@IdentityFile « C:/Documents and Settings/moi/.ssh/cle_dsa »@@, ma clef est bien sauvegardé dans le fichier known_hosts, mais je ne peux accéder au serveur. Par contre, si j’écris @@IdentityFile C:/Documents and Settings/moi/.ssh/cle_dsa@@, ça fonctionne…
Catégories
- Apache (6)
- Avent (14)
- CMS (16)
- Geekeries (39)
- HTML et CSS (4)
- Informations (12)
- Java (19)
- Javascript (8)
- L'anecdote du week-end (4)
- PHP (28)
- PHP objet (19)
- Projets (4)
- Référencement (4)
- SQL (9)
- XML (3)
- XMPP (4)
Tags
30 minutes Anecdote Ant Apache attribut base de données C class CMS constructeur CSS date design Dotclear Eclipse Expression Google Java Java EE Javascript Joomla jQuery Ligne de commande Linux Maven MySQL méthode Optimisation PgSQL PHP POO Projet public regex Référencement SEO Shell SQL tutoriel Url Rewriting Wallpaper Windows Wordpress XHTML XML