Daily Archives: 15. März 2009

TAB-Completition für ssh und scp

Wer täglich mehrmals mittels ssh oder scp auf die selben Server zugreift will nicht immer alle Daten neu eingeben. Je nach User und Server kann dies deutlich länger sein als in diesem Beispiel:

$ ssh useratwork@server.at.work:~/documents/myfile.txt .

Zunächst erstellt man eine Datei ~/.ssh/config und trägt dort die Zugangsdaten ein:

# ssh config file
 
Host homeserver
    HostName name.of.server
    User username
    CheckHostIP no
Host work
    HostName server.at.work
    User useratwork

CheckHostIP hat standardmäßig den Wert yes. Für einen Homeserver ohne statische IP und mit DynDNS sollte man diesen Wert auf no setzen. Sonst erhält man jeden Tag eine Sicherheitswarnung, dass sich die IP des Servers geändert hat.

Um die Auto-Vervollständigung der Befehle mittels TAB in der Shell zu ermöglichen fügt man in der .bashrc die folgenden Zeilen ein:

complete -W "homeserver work" ssh
complete -W "homeserver work" scp

Damit werden die Befehle ssh und scp um Wortlisten zur Auto-Vervollständigung ergänzt. Diese lässt sich nun wie üblich in der Shell nutzen. Somit ergibt sich:

$ ssh work:~/documents/myfile.txt .