OpenSSH ist das führende Konnektivitätstool für die Remote-Anmeldung mit dem SSH-Protokoll in Unix/Linux Umgebungen.
OpenSSH verschlüsselt den Datenverkehr, darüber hinaus bietet OpenSSH eine große Auswahl an sicheren Tunneling-Funktionen, mehrere Authentifizierungsmethoden und anspruchsvolle Konfigurationsoptionen.
Für die Remoteverwaltung in heterogenen Netzwerken, haben Windows und Unix/Linux nicht viel gemeinsames. Unter Unix/Linux ist der Remote-Zugriff per SSH ein Standard für Datentransfer, Remote-Terminal sowie Port-Forwarding für Remote-X. Unter Windows ist ein wirklicher Standard 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/Unix Umgebungen.
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 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.
1 2 3 |
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.
1 2 |
.\ssh-keygen.exe -A |
Die Firewall auf Windows Server für SSH erweitern.
1 2 |
New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH |
Bei der Windows Workstation werden eingehende SSH Verbindungen wie folgt erlaubt.
1 2 3 |
C:\> 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.
1 2 |
Start-Service ssh-agent |
Nun können SSH Verbinden aufgebaut werden.
1 2 3 4 |
./ssh user@10.10.10.10 ./ssh -i privkey.pem user@10.10.10.10 ./scp file user@10.10.10.10:/tmp |
Den SSH Daemon Auto-start (Boot) aktivieren.
1 2 3 |
Set-Service sshd -StartupType Automatic Set-Service ssh-agent -StartupType Automatic |
Ein Schlüsselpar wird wie folgt generiert.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
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]-----+ |