...et je vais en balancer un à l'eau tellement ça me nifle depuis des mois !
*keuf* *keuf* Bonjour les amiches, j'ai une question ! :)
J'ai un petit truc qui me gonfle depuis que j'ai switché définitivement sous linux au boulot (mon fameux mac pro 2008 a fini par être réformé au bout de dix ans de bons et loyaux services), c'est le comportement erratique de l'autocomplétion liée à ssh. Je n'arrive pas à comprendre comment jouer dessus.
Je m'explique : si je fais "ssh p[tab]", j'ai comme résultat :
fred ➤ ssh p [9:50:10]
plu.[censure] proxy pub[censure]-test
En sachant que ça me gonfle surtout quand je fais pub[tab], car il me met automatiquement sur un serveur de test, alors que dans 90% des cas c'est sur celui de prod que je dois aller.
"oui, mais t'es un boulet, t'utilise zsh et pas bash". Ok, j'entends la remarque, donc faisons le test en bash :
fred ➤ bash [9:55:17]
fred@DSIT-FredC:~$ ssh p
plu.[censure] prod pub[censure]-test
Tiens, étrange, c'est presque la même chose (en plus douloureux vu que zsh est quand même foutrement mieux fait pour l'autocomplete), sauf que "proxy" est remplacé par "prod". Whaaaat ? Ok, donc, changer de shell change un peu le résultat, mais ça reste étrange.
Alors, "proxy", c'est un machin chelou que j'avais fait il y a des mois, pour des raisons complexes de débug je m'étais fait un proxy sur moi-même (je me ssh-isait sur la même machine pour faire de la translation de port, une bidouille dégueu mais qui a marché et dont je me suis servi une heure). ce fut donc un nom dans mon /etc/hosts pendant une heure il y a au moins 6 mois. Il n'existe même plus dans mon .zsh_history
"prod", c'est un alias ssh présent dans .ssh/config . Je m'en sers fréquemment.
"pub[censure]-test" est présent dans mon /etc/hosts
"plu.untruc", c'est un nom de domaine fourni par le serveur dns, il n'est pas dans le /etc/hosts. Et je pense jamais avoir utilisé ce nom pour me logguer en ssh, j'aurais utilisé le nom de machine (gotland). Et du coup, je suis allé vérifier, et l'unique fois où ce nom est présent avec "ssh", c'est un repertoire et pas une machine, lors d'un sshfs (et non, je n'ai jamais utilisé sshfs avec pub[censure]) :
sshfs [nom_user]@gotland:/var/www/plu.[censure]/..../ ~/mntpoint
Alors, pour corriger ça, parce que je suis un gros faignant et que supprimer -test à chaque fois que j'utilise ma commande me gonfle, j'ai donc tenté de supprimer le pub[censure]-test de mon /etc/hosts, puis de mon .ssh/known_hosts ... peine perdue, il était encore là. Il n'est nulle part dans le répertoire .ssh. Changer de shell ne change rien comme vous avez pu le voir, et ce n'est pas un truc présent dans le .zsh_history ou le .bash_history
Est-ce que vous auriez une idée d'où chercher. Ça m'énerve de ne pas comprendre ça ! :)