Bash-Completion SSH

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Bash-Completion SSH

Beitrag von feltel » 03.04.2010 18:43:11

Ich weiß nicht mehr seit wann es nicht mehr geht, aber seit ein paar Wochen geht die Bash-Completion für SSH-Hosts nicht mehr bei meinem Testing-System. Ist das nur ein lokales Phenomän oder tritt das bei euch auch auf? Oder ist das ein neues Feature, was ich nur nicht richtig konfiguriert hab? Ich gebe ein zwei oder drei Zeichen des Hostnames ein, drücke Tab und dann nach ein paar Denksekunden kommt das folgende:

Code: Alles auswählen

feltel@BigBlue:~$ ssh leeFailed to resolve service 'BigBlue [00:13:e8:76:8e:6d]' of type '_workstation._tcp' in domain 'local': Timeout reached
la.debianforum.de 
DNS-Technisch hab ich nix geändert, hab noch immer meinen WRT wie seit Jahren.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Bash-Completion SSH

Beitrag von ThorstenS » 03.04.2010 20:03:55

ich glaube completion ist derzeit defekt.
Wenn ich service ssh [TAB] drücke erhalte ich auch nur ein grosses B oder R - die initscripte werden nicht vervollständigt.

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Bash-Completion SSH

Beitrag von cosmac » 09.04.2010 09:31:20

hi,

anscheinend soll Debian sicherer werden ;)
(wann dieser Default geändert wurde, hab' ich nicht gefunden)

Code: Alles auswählen

ulysses:~$ cat /etc/debian_version 
squeeze/sid
ulysses:~$ grep -i hash /etc/ssh/ssh_config
    HashKnownHosts yes

tassi:~$  cat /etc/debian_version
5.0.3
tassi:~$ grep -i hash /etc/ssh/ssh_config
    HashKnownHosts no
http://cve.mitre.org/cgi-bin/cvename.cg ... -2005-2666
Debian Bugreport430154
Beware of programmers who carry screwdrivers.

Benutzeravatar
ThorstenS
Beiträge: 2875
Registriert: 24.04.2004 15:33:31

Re: Bash-Completion SSH

Beitrag von ThorstenS » 09.04.2010 10:20:33

danke.
Die Änderung kam mit lenny.

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Re: Bash-Completion SSH

Beitrag von feltel » 09.04.2010 11:08:31

HashKnownHosts hab ich bei mir ausgeschalten. Das ist es nicht. Er macht ja eine Vervollständigung, nur kommt dazwischen eine DNS-Fehlermeldung, von welchem Prozess auch immer.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: Bash-Completion SSH

Beitrag von gms » 09.04.2010 19:42:01

bei mir funkts eigentlich

laut /etc/bash_completion/ssh wird hierfür die Shell-Funktion _known_hosts verwendet. Diese wird von einigen Kommandos z.B 'host' auch direkt verwendet:

Code: Alles auswählen

root@gms2:~# complete -p | grep known_hosts | grep -w host
complete -F _known_hosts host
Daher die Frage, funktioniert Bash-Completion beim 'host' Kommando auch nicht ?

Man kann auch das Kommando direkt testen ( aber einfacher gehts über eine weitere Funktion _known_hosts_real )

Code: Alles auswählen

root@gms2:~# _known_hosts_real HOSTPREFIX && echo "${COMPREPLY[@]}"
sollte eine entsprechende Auswahl von Hostnamen liefern.

edit, aber eigentlich, wenn man diese Funktion so überfliegt, kann diese Fehlermeldung nur vom Avahi-Zeugs kommen

edit2: dort finden sich auch Fragmente obiger Fehlermeldung:

Code: Alles auswählen

avahi-browse -cpr _workstation._tcp
edit3: versuchsmal, wenn der avahi-daemon gestoppt ist

edit4: warum hast du so ein komisches Ding überhaupt bei dir laufen ? :)

Gruß
gms

Benutzeravatar
feltel
Webmaster
Beiträge: 10476
Registriert: 20.12.2001 13:08:23
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Leipzig, Germany
Kontaktdaten:

Re: Bash-Completion SSH

Beitrag von feltel » 10.04.2010 05:41:05

Bingo. avahi war die Ursache. Keine Ahnung, warum der bei mir noch installiert war; der war sicher mal über irgendeine Abhängigkeit installiert worden. Konnte ihn ohne ein Programm zu verlieren deinstallieren und jetzt läuft die SSH-Completion wieder. :-)

Antworten