Schlagwort-Archive: OpenSSH Secure Shell

OpenSSH Secure Shell provides a large suite of secure tunneling capabilities, several authentication methods, and sophisticated configuration options.

KiTTY Terminal Scripting

PuTTY oder doch KiTTY

KiTTY ist ein Telnet- und SSH-Terminal Emulator für Windows. Die Software ist eine Alternative zu PuTTY und wurde als PuTTY-Clone/Fork entwickelt und ist auch als portable Version erhältlich. Des weiteren werden Raw, Rlogin, ADB, Cygterm und Serial Terminal ermöglicht. KiTTY ist im selben unauffälligen lock and feel gehalten wie PuTTY, bietet jedoch einige nützliche Erweiterungen.

KiTTY Icon

Ein Feature von KiTTY ist der integrierte Editor, mit diesem beim entwickeln und Testen von Scripts die Arbeit im Terminal erleichtert wird, mit <Shift+F2> ruft man den Editor auf.

Feature von KiTTY ist der integrierte Editor
KiTTY Terminal mit mNotepad (Shift+F2) Editor

Die Code Zeilen aus dem mNotepad können zeilenweise oder als markierten Bereich mit der Option Send (F12) zum Terminal gesendet werden. Das Testen von Code Snippets in der Linux Shell kann so schnell und einfach ausgeführt werden.

Mit <Ctrl+Rechte Maustaste> erscheint das Kontext Menu mit den Optionen, so können Scripte über Send script file übertragen werden die im Terminal Shell ausgeführt werden. Die Option User Command bietet die Möglichkeit häufig verwendete Befehle auszuführen, die in der Registry gespeichert werden.

KiTTY Kontext Menu
WinSCP

Falls vorhanden kann WinSCP aufgerufen werden, es wird direkt eine Verbindung zum Host aufgebaut, oder man wählt die Dateiübertragung über Send with pscp.

Wer die Sessions und Hosts Parameter nicht in der Registry verwalten möchte, dem bietet sich die Möglichkeit die Einstellungen in der INI Datei zu speichern. Dabei muss folgender Eintrag in kitty.ini eingefügt werden.

[KiTTY]
savemode=dir

Mit folgender Eingabe in der Eingabeaufforderung für die Verwaltung ohne Registry:

kitty.exe -convert-dir

Hierdurch werden unter dem Programm Ordner 6 Unterordner angelegt, die Einstellungen werden in den Ordnern Commands, Folders, Launcher, Sessions, Sessions_Commands und SSHHostKeys abgelegt.

OpenSSH für SSH unter Windows

OpenSSH ist die führende Remote-Anmeldung über SSH Protokoll in Linux, nun auch für Windows.

OpenSSH verschlüsselt den Datenverkehr, darüber hinaus bietet OpenSSH eine große Auswahl an sicheren Tunneling-Funktionen, mehrere Authentifizierungsmethoden und anspruchsvolle Konfigurationsoptionen.

OpenSSH für SSH unter Windows

Für die SSH Remoteverwaltung in heterogenen Netzwerken, haben Windows und Linux nicht viel gemeinsames. Unter Unix/Linux ist der Remote-Zugriff per OpenSSH ein Standard für Datentransfer, Remote-Terminal sowie Port-Forwarding für Remote-X. Unter Windows ist ein wirklicher SSH Standard mit OpenSSH noch nicht erreicht, neben WinRM, PowerShell-Remote, RDS und RSAT gibt es einige mehr. Hinzugekommen ist nun auch ein Port des freien OpenSSH Client/Server Tools, dies ermöglicht weitere Integration und Verwaltung von Windows und Linux Umgebungen.

OpenSSH Installation in Windows PowerShell

Als erstes öffnen wir PowerShell als Administrator. Klicke hierzu auf Start und gib powershell ein. Wenn der Eintrag zu sehen ist, klicke auf Als Administrator ausführen und dann auf Ja. Bevor wir die Installation durchführen, müssen wir herausfinden, welche Versionen der Software verfügbar sind, was mit dem folgenden Befehl erledigt werden kann.

Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

Erscheint die Ausgabe: State : NotPresent

Installiere zunächst den OpenSSH-Client mit.

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

Falls gewünscht, installiere als nächstes den OpenSSH-Server.

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

Sowohl der SSH Client als auch SSH Server sollten Installiert sein. Als nächstes müssen wir den OpenSSH-Server mit dem Befehl starten.

Start-Service sshd

Jetzt müssen wir nur noch den OpenSSH-Server so einstellen, dass er beim Booten startet.

Set-Service -Name sshd -StartupType 'Automatic'

OpenSSH auf Github

Die OpenSSH Suite ist auf Github verfügbar und besteht aktuell aus folgenden Tools:

  • Remote-Operationen werden mit ssh, scp und sftp durchgeführt
  • Key Management mit ssh-add, ssh-keygen
  • Die Service-Seite besteht aus sshd, sftp-server und ssh-agent

Win32 OpenSSH Windows Installation

Nach dem Download das Zip-Archive in C:\Program Files\OpenSSH entpacken.

Starte PowerShell als Administrator und wechsle in den Pfad C:\Program Files\OpenSSH und führe folgende Aktion aus.

cd "C:\Program Files\OpenSSH"
powershell -executionpolicy bypass -file install-sshd.ps1

Die SSH Host-Schlüssel generieren mit allen Schlüssel die sshd für Key-auth erwartet.

.\ssh-keygen.exe -A

Die Firewall auf Windows Server für SSH erweitern.

New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH

Bei der Windows Workstation werden eingehende SSH Verbindungen wie folgt erlaubt.

netsh advfirewall firewall add rule name='SSH Port' dir=in action=allow protocol=TCP localport=22

Der SSH-Agent hält den privaten Schlüssel im Arbeitsspeicher.

Start-Service ssh-agent

SSH Verbinden mit Windows

Nun können SSH Verbinden aufgebaut werden.

./ssh user@10.10.10.10
./ssh -i privkey.pem user@10.10.10.10
./scp file user@10.10.10.10:/tmp
OpenSSH für SSH unter Windows client

Den SSH Daemon Auto-start (Boot) aktivieren.

Set-Service sshd -StartupType Automatic
Set-Service ssh-agent -StartupType Automatic

Ein Schlüsselpar wird wie folgt generiert.

PS C:\Program Files\OpenSSH> ssh-keygen -t rsa -b 4096 -C "user@mydomain.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\user/.ssh/id_rsa): user
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in user.
Your public key has been saved in user.pub.
The key fingerprint is:
SHA256:lbPo7eEQFzaS3GFBImQG/X4H963KEOwrc3xPWeBj2Wc user@mydomain.com
The key's randomart image is:
+---[RSA 4096]----+
|    .+= ..=.     |
|     o.o = o     |
|       .+ O   .  |
|        .*.=.. + |
|       .S =o .=.E|
|       ..=.....=o|
|        oo=.  o. |
|        o+o=...  |
|         ++.oo.  |
+----[SHA256]-----+