Open SSH-Server auf windows server 2016

Mit Freerdp von unserem Repo (nicht das Paket von Ubuntu) kann man sich beqeum per RDP auf dem Server verbinden. Das Paket ist von Freerdpnightly und ein wenig angepasst.

xfreerdp /t:"Cusom Title here" /u:Administrator /p:'geheim'  +fonts /clipboard /cert-ignore  /workarea +smart-sizing -sec-nla /drive:HOME,/home/$USER/Downloads   /v:IP or Serverhosname

Als ersters installiert man sich Cygwin64 auf Server2016 mit allen nötigen Paketen wie Openssh, nano, kate, gedit, procps, wget, zip, unzip, xauth, zsh, screen. Nun fügt man in die Datei C:\cygwin\Cygwin.bat folgendes dazu ein:

@echo off

C:
chdir C:\cygwin\bin
set CYGWIN=binmode ntsec
bash --login -i

Nun das Desktopicon starten und mit der SSH-Serverkonfiguration fortfahren.

ssh-host-config
*** Query: Should strictmodes be used? <yes/no>: yes
*** Query: Should privilege separation be used? <yes/no>: yes
*** Query: New local account 'sshd'? <yes/no>: yes
*** Query: Do you want to install sshd as a service?
*** Query: <Say "no" if it is already installed as a service> <yes/no>: yes
*** Query: Enter the value of CYGWIN for the deamon: [] binmode ntsec
*** Query: Do you want to use a different name? (yes/no) no
*** Query: Create new privileged user account 'cyg_server'? (yes/no) yes
*** Query: Please enter the password:
*** Query: Renter:

Service starten

net start sshd

Prüfen ob das Service läuft

cygrunsrv --query sshd

Firewall freischalten

netsh advfirewall firewall add rule name="OpenSSH-Server" dir=in action=allow protocol=TCP localport=22

Und schon kann man sich mit dem „lokalem Administrator“ am Server mit SSH einloggen. Linuxapplicationen könne auch über grafisch über SSH aufgerufen werden sofern X11 Forwarding aktiviert ist.

Zusatz Windowsserver 2012r2, Windows7, auch Windowsserver 2016

Hier sind noch weitere Schritte notwendig. Diese Schritte kann man auch unter 2016er Server ausführen um Benutzer in der passwd extra zu pflegen was einen Vorteil bringen kann. Im nächsten Schritt wird der bestehende Benutzer pjohn in die passwd übernommen. Danach kann man das Passwort wie gewohnt mit „passwd“ setzen. Um das ganze hier voll zu automatisieren müsste man sich von Putty eine Lizenz für SSHserver kaufen und das alles ohne Cygwin durchführen. Lokaler Benutzer

/bin/mkpasswd -l –u <USER> >> /etc/passwd (for example, /bin/mkpasswd -l -u pjohn >> /etc/passwd)

Domänen Benutzer

/bin/mkpasswd -d -u <USER> >> /etc/passwd (for example, /bin/mkpasswd -d -u pjohn >> /etc/passwd)
mkdir -p /home/<USER>  (for example, mkdir -p /home/pjohn)
chown <USER> /home/<USER> (for example, chown pjohn /home/pjohn)

In die SSHD-config noch folgendes eintragen:

KexAlgorithms diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1

Um die ZSH als bevorzugte Shell zu bekommen muss man lediglich in die „.bash_profile“ ein „exec zsh“ am Ende eintragen.