Thread SSH Login-Verwaltung per Bash / Tab-Vervollständigung (3 answers)
Opened by Hagen at 2015-07-02 10:15

Hagen
 2015-07-02 10:15
#181459 #181459
User since
2007-09-06
233 Artikel
BenutzerIn
[default_avatar]
Hallo,

auf der Suche nach einer Möglichkeit, ssh- bzw. sshfs-Zugänge einfach und mit Bordmitteln des Betriebssystems (in diesem Fall Linux/Ubuntu) zu verwalten habe ich u.a. einige passende Tipps zur Tab-Vervollständigung gefunden:

Ergänzung in der .bashrc:

Code: (dl )
1
2
complete -W "$(<~/.ssh/hosts)" ssh
complete -W "$(<~/.ssh/hosts)" sshfs


(wobei .ssh/hosts eine händisch erstellte Datei ist)

bzw.

Code: (dl )
1
2
complete -W "$(echo $(grep '^ssh ' .bash_history | sort -u | sed 's/^ssh //'))" ssh
complete -W "$(echo $(grep '^sshfs ' .bash_history | sort -u | sed 's/^sshfs //'))" sshfs


Gibt man folgendes in der Befehlszeile ein
Code: (dl )
ssh [TAB]

wird (meist) passend vervollständig. Ebenso wird
Code: (dl )
ssh test@192.168.[TAB]

zu
Code: (dl )
ssh test@192.168.1.20

vervollständig.

Probleme treten auf, wenn ein Pfad vervollständig werden soll (z.B. bei einer sshfs-Verbindung):

Code: (dl )
test@192.168.1.20:/var/www ./SERVER


bei
Code: (dl )
sshfs test@[TAB]


kommt man nur bis zum ':', danach fkt. [TAB] nicht mehr. Fügt man vor dem 'test' ein " ein, so fkt. das Vervollständigen, der Pfad ist dann aber ungültig; ergibt:

Code: (dl )
sshfs "test@192.168.1.20:/var/www ./SERVER"


Div. Websuchen habe mich leider noch nicht weiter gebracht; hat vielleicht irgendwer einen Idee oder einen Tipp, ob/wie das vielleicht doch noch machbar wäre?!
Gruß
Hagen

View full thread SSH Login-Verwaltung per Bash / Tab-Vervollständigung