Letzte Woche wurde hier im Blog mRemote vorgestellt, welches unter Windows sehr gute Dienste leistet um verschiedenste Remotezugänge zu verwalten. Für Administratoren, die unter Linux arbeiten, ist die Shell oftmals das Mittel der Wahl. SSH-Verbindungen können dort ohne großen Aufwand in der .ssh/config gepflegt werden. Hier muss man zwar alles manuell machen, aber man ist meistens trotzdem schneller, als wenn man seine SSH-Verbindungen zum Beispiel mit gnome-rdp verwaltet. Aber das zeige ich am besten an einem kurzen Beispiel.
Host local-debian HostName 192.168.0.98 User user1 |
Mit dem Befehl ssh local-debian verbindet man sich als Benutzer user1 auf den Server mit der IP-Adresse, die bei HostName angegeben ist. Hier funktioniert auch die automatische Vervollständigung und das nicht nur für ssh, sondern auch für scp und rsync.
Host db-node1 db-node2 db-node3
User dbuser1
HostName %h.intern.example.com |
Hat man mehrere Systeme, kann Host auch mehrere Namen enthalten. Unter Hostname kann man eine gemeinsame Domain angeben. An Stelle von %h wird der an ssh übergebene Name eingesetzt (hier z.B. db-node3). Wenn man 53 App-Server hat, will man diese natürlich nicht alle manuell eintragen. Auch an das wurde gedacht und man kann Wildcards verwenden kann. Die Autovervollständigung funktioniert dann natürlich nicht mehr.
Host db-app-* User appuser1 HostName %h.intern.example.com ForwardAgent yes |
Sehr praktisch ist auch die Option ForwardAgent. Dieses bewirkt, dass die Verbindung zu meinem authentication agent geforwardet wird. Wenn ich mich also auf db-app-23 mit Hilfe meines public key eingeloggt habe, kann ich mich direkt von dort aus per ssh auf db-node1 verbinden. Vorausgesetzt wird hier natürlich, dass ein Zugang zu beiden Rechner besteht besteht. Hier muss man natürlich aufpassen. Jeder, der Zugriff auf den Socket auf db-app-23 hat, hat die Möglichkeit, die Identitäten, die im authentication agent geladen sind, zu nutzen. Das Schlüsselmaterial ist aber sicher!
Mehr Infos zur dem Thema findet man unter natürlich unter man ssh_config.
Autor: Achim Ledermueller
Der Exil Regensburger kam erst 2012 zu NETWAYS, nachdem er dort sein Wirtschaftsinformatik Studium beendet hatte. Da er dort Erfahrungen bei der IT-Administration verschiedener Lehrstühle sammeln konnte hat er bereits ein sehr breites Admin Wissen. In der Managed Services Abteilung is er zusammen mit seinen Kollegen für die Betreuung von Kundenservern und den Monitoring-Support zuständig.


[...] gave us his tips for managing SSH connections manually and Jannis recommended Require.JS as an efficient solution for organising code in [...]