DevOps, Tools

Linux-Server von einer Windows-Maschine aus verwalten

Während der Arbeit bin ich dazu gezwungen, Windows als Betriebsystem auf meinem Arbeitsrechner laufen zu lassen. Und das, obwohl ich fast ausschließlich WindowsLinux-Server verwalte. Nun gibt es unzählige Wege, sich per SSH auf Linux-Server zu verbinden. Im Folgenden beschreibe ich meinen Weg.

Meine ersten Gehversuche habe ich (natürlich) mit PuTTY gemacht, zweifelsfrei der bekannteste SSH-Client für Windows. Ich habe jedoch schnell Einschränkungen für mich festgestellt, wie zum Beispiel fehlendes Tab-Interface (nichts ist schlimmer als 20 geöffnete Putty-Fenster in der Taskbar), kein (sinnvolles) Session-Management, umständliche Konfiguration über die GUI und standardmäßig keine Portabilität (PuTTY speichert seine Sessions in der Windows-Registry). All diese Probleme haben mich dazu veranlasst, nach Alternativen zu suchen.

putty

Das für mich dringenste Problem waren die fehlenden Tabs, welche ich mit Firefox lieben gelernt habe. Es gibt einige Programme, die einen Wrapper bereitstellen, um PuTTY mit Tabs zu nutzen, z.B. SuperPuTTY, PuTTY Manager oder MTPuTTY.

mtputty
Meine erste Wahl aus diesen Tools fiel auf MTPuTTY, einem Programm, welches meine Bedürfnisse hinsichtlich Tabs für ein paar Jahre befriedigt hat. Bis zu dem Zeitpunkt als ich als neuen Arbeitsrechner einen Laptop bekommen habe. Mit MTPuTTY gibt es einen (nachstellbaren) Fehler: bewegt man die Maus nach unten über ein PuTTY-Fenster innerhalb von MTPuTTY, verschiebt sich das PuTTY-Fenster mit, selbst wenn es im Vollbild-Modus läuft. Da MTPuTTY nicht Open Source ist und der Autor der Software nicht auf meine Kontakversuche reagiert hat, habe ich mich wieder nach einer Alternative umgesehen.

Ich habe bereits vor ein paar Jahren cygwin genutzt, eine “Sammlung von GNU und Open Source Tools […] unter Windows. Die Installation und Konfiguration von Cygwin war zum damaligen Zeitpunkt jedoch nicht sehr nutzerfreundlich und hat viel Fummelei benötigt, daher bin ich damit nie richtig warm geworden. Auch mein letzter Versuch nach MTPuTTY, Cygwin produktiv zu nutzen war nicht sehr zufriedenstellend.
cygwin
Mein nächster Versuch galt MobaXterm, einem Programm, dass sich selbst mit Features wie einem eigenen XServer, Tabs, SFTP und Portabilität bewirbt. Anfangs mochte ich MobaXterm. Aber die Menge an Features lassen lassen es aufgebläht und langsam wirken, im Vergleich zu MTPuTTY. Der Fakt, dass es nicht Open Source ist und die kostenlose Verison auf maximal zehn gespeicherte Sessions beschränkt ist sorgten dafür, dass ich es nicht weiter genutzt habe.

mobaxterm
Während meiner weiteren Suche nach einem geeigneten Administrations-Programm bin ich zufällig über babun gestolpert, einer selbst-ernannten “Windows shell, die Du lieben wirst”. Babun basiert auf Cygwin, es bringt jedoch viele sinnvolle Erweiterungen mit, die es besser als Cygwin machen: die extrem einfache Installation (nur ein Script ausführen), ein eigener Paket-Manager (pact), automatische Updates sowie Proxy- und GIT-Support von Haus aus!

babun

Da man praktisch in einer echten Linux-Shell arbeitet, gibt es kein umständliches Verwalten von Sessions über einer GUI. Jetzt kann man einfach das eingebaute SSH nutzen und die Sessions in der Konfigurationsdatei ablegen, einem simplen Textdokument.

Was jettz natürlich noch gefehlt hat, sind Tabs! Zum Glück gibt es unter Windows Programme, die komplette andere Programme als Tabs in einem einheitlichen Interface darstellen. Cmder gehört zu dieser Sorte Programme. Aber Cmder kann mehr als nur Programme als Tabs darzustellen: Es ist ein voll ausgereifter Konsolen-Emulator für Windows (ich nutze jedoch hauptsächlich die Tab-Funktionaliät).

Am Ende war es die Kombination der Features aus Cmder und Babun, die dafür sorgten, dass ich es bei den Programmen blieb:

  • natives SSH
  • eine lokale Windows Bash-shell
  • Tabs!
  • Automatische Updates
  • Git-Integration
  • Einfache Session-Verwaltung

Damit man aus diesem Artikel auch noch etwas mitnehmen kann, hier eine kurze Anleitung, wie man Cmder und Babun aufsetzt:

  • Entpacke Babun und installiere es
  • Entpacke Cmder (Volle Version nutzen) und installiere es
  • Sourcecode Pro herunterladen und nutzen (optional)
  • die folgenden Konfigurationsdateien bearbeiten:
    • .babunrc
    • .bashrc
    • .minttyrc
  • Cmder konfigurieren
    • einen neuen startup-task für babun erstellen
      • Task parameters: /icon "%userprofile%\.babun\cygwin\bin\mintty.exe" /dir "%userprofile%"
      • Commands: %userprofile%\.babun\cygwin\bin\mintty.exe -
    • Unter startup > Tasks den babun-task als autostart task aktivieren, unter “Specified named task”
  • ein Farbschema wählen (optional)
    • Suche hier eins aus und konfiguriere es in der .minttyrc
  • die SSH-Konfiguration bearbeiten (in ~/.ssh/)
    • SSH-key generieren und im Verzeichnis ablegen
    • .ssh/.config anlegen und bearbeiten

Bilder

  • https://commons.wikimedia.org/wiki/File:PuTTY_0.62_on_Windows_8.png
  • https://commons.wikimedia.org/wiki/File:Cygwin_X11_rootless_WinXP.png
  • http://mobaxterm.mobatek.net/

3 comments

  1. Filip

    Filip

    Vielleicht ist es schon dem einen oder anderen aufgefallen. Nutzt man Babun, funktioniert das “pasten” im VIM nicht einfach über den Rechtsklick per Maus.

    Das Verhalten ist bereits als Issue im github dokumentiert.
    https://github.com/babun/babun/issues/97

    Der folgende Workaround funktioniert aber:

    echo “set mouse-=a” >> ~/.vimrc

    Danach sollte das Kopieren im VIM Editor per Maus möglich sein.

  2. Andreas

    Hi,
    schöner Artikel. Ich selbst nutze ebenfalls seit längerem die Babunshell und bin absolut zufrieden damit. Statt des Cmder nutze ich jedoch ConEmu. Ebenfalls kostenlos, Tabfähig und AutoUpdate-bar. Ist für dich vielleicht auch noch einen Blick wert.

    VG

    • Sebastian Gumprich

      Hi Andreas,

      danke! Und Danke für die ConEmu-Empfehlung. Cmder ist tatsächlich nur eine Art Wrapper um ConEmu. Daher hast du komplett Recht: ConEmu ist super!;-)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.