Problème :
Je souhaite créer un alias serveur-www
qui me connecte au serveur en SSH et m’amène automatiquement dans le dossier /var/www/
.
Voici :
ssh -t serveur 'cd /var/www && $SHELL'
Et pour l’alias qu’on pourra ensuite mettre dans son ~/.bashrc
:
alias serveur-www="ssh -t serveur 'cd /var/www && $SHELL'" serveur-www # pour tester
Références :
Perso, j’aime pas trop utiliser les alias bash pour SSH (question de style et de complétion automatique). A la place je crée / modifie dans mon /home le fichier .ssh/config, dans lequel on peut écrire pas mal d’alias SSH, comme ceci :
—
Host aliasdemonserveur
HostName levrai-serveur.org
User pandagirl
Port 2222
—-
Ensuite je tape juste “ssh aliasdemonserveur” pour m’y connecter.
Cela dit, ça ne m’amènera jamais dans un répertoire distant, ou alors, je n’ai pas la moindre idée comment faire. C’est pratique quand on commence à avoir pas mal de machines auxquelles on se connecte, et aussi, quand le nom d’utilisateur coté serveur ne correspond pas au nom local etc.
Ce fichier de config permet d’autres trucs, un peu fous, comme le forwarding/tunneling vers une autre machine… à ce sujet “man ssh_config”.
Mais tu sais la complétion fonctionne aussi sur les aliases.
Pour l’astuce de renseigner les hosts dans le .ssh/config, merci, je connaissais pas.
Moi j’utilise l’option :
HashKnownHosts no
dans .ssh/config et de cette manière, tous les serveurs auxquels tu t’es déjà connecté(e) sont proposés en complétion automatique. Attention aussi au problème de sécurité que ça implique.
Tu as raison, tout ceci est dans man ssh_config.