Hallo zusammen,
Da einige sicherlich gerne noch Windows als ihren Hauptrechner benutzen, ich noch immer sehr oft hier im Forum lese, dass Putty für SSH empfohlen wird und ich eine für mich sehr charmante Lösung unter Windows gefunden habe, wollte ich das gerne mit euch teilen.
Grundsätzlich ist es seit dem Windows Update 1809 möglich SSH Verbindungen aufzubauen. Leider ist das kaum bekannt, daher dieser Tipp für euch.
Dass heißt, ihr könnt einfach das Terminal öffnen und euch mit dem Zielsystem verbinden.
Oder auch gleich mit dem Benutzernamen
Nun möchte ich euch noch zeigen, wie ihr euch mit dem Zielrechner ohne eine Eingabe des Passworts verbindet.
Da wir hier im Edomi Bereich sind, habe ich die Anleitung auf CentOS gemünzt. Bei anderen Distros mag das ggf. leicht abweichen.
Dafür bitte nicht die normale Kommandozeile sondern bitte die "Windows PowerShell" öffnen. Einfach mal unter Start danach suchen.
Als erstes melden wir uns mit dem gewünschten User per SSH an, um ein paar Einstellungen auf dem Linux-System zu tätigen (mit "yes" bestätigen).
Wir prüfen ob der Ordner .ssh bereits vorhanden ist.
Falls der Ordner noch nicht vorhanden ist, erstellen wir diesen.
Jetzt prüfen wir, ob die Datei authorized_keys vorhanden ist.
Falls diese nicht vorhanden ist, erstellen wir diese.
Jetzt müssen wir noch einstellen, dass wir uns mit Schlüsseln (public keys) auf dem System anmelden dürfen.
Dafür gehen wir erstmal in den root-Modus und geben das Passwort vom Benutzer ein.
Jetzt am besten den gesamten Block kopieren, einfügen (Rechtsklick) und mit Enter bestätigen.
Jetzt verlassen wir wieder den root Modus.
Nun setzen wir noch auf jeden Fall die richtigen Berechtigungen (bei mir kam es hier sonst zu Fehlern),
und starten den SSH Dienst neu.
Nun können wir wieder zurück zu Windows wechseln indem wir die SSH-Verbindung beenden.
Im Windows generieren wir uns jetzt einen private und einen public key. Hier bitte einfach immer ohne eine Eingabe mit Enter bestätigen.
Jetzt übertragen wir den public key noch auf die Linux Maschine. Dabei müssen wir noch einmal das Passwort für den Benutzer eingeben.
Im folgenden den USERNAME durch euren Benutzer sowie IP-DES-ZIELS mit der IP oder dem Hostname ersetzen.
Jetzt können wir uns ohne Eingabe des Passworts immer an diesem Linux-Rechner anmelden
Voila!
- OPTIONAL -
Um das Ganze jetzt noch perfekt zu machen, möchte ich euch das neue Windows Terminal und deren Möglichkeiten aufzeigen.
Screenshot.png
Hier ist es möglich, bereits fertige Profile zu hinterlegen und ihr könnt mehrere Tabs öffnen und euch direkt an einer Maschine anmelden. (und auch optisch ändern, daher sieht mein Screenshot sicher etwas anders aus als bei euch)
Dafür müssen wir dieses Terminal erstmal im Windows Store installieren. Sucht dafür im Store einfach nach "Terminal" (Windows Terminal (Preview) ).
Jetzt legen wir uns ein SSH-Profil (quasi eine Voreinstellung) für einen Linux-Rechner an.
Dafür erstellen wir unter folgendem Pfad eine neue Datei mit dem Namen config (ohne Endung).
Dafür im Windows Explorer in der Adresszeile folgendes einfügen:
Und dort ein neues Textdokument hinzufügen, diese "config" nennen und die Endung entfernen.
Dort könnt ihr einen oder mehrere der folgenden Blöcke einfügen.
Über Host bestimmt ihr den Namen den ihr dafür vergeben möchtet, bei Hostname könnt ihr die IP des Linux-Rechners angeben, Port 22 könnt ihr so lassen und bei Benutzer tragt ihr den Benutzer ein mit dem ihr euch anmelden möchtet.
Speichern und schließen.
Jetzt öffnen wir das neue Windows Terminal (Preview), klicken oben rechts auf den Pfeil und dann auf Settings.
In der Datei fügt ihr bei den Profiles folgenden Block hinzu:
Bei Name könnt ihr eingeben was auch immer ihr wollt. Bei HOSTNAME gebt ihr bitte das an, was ihr in der config-Datei unter "Host" angegeben habt.
Falls ihr mehrere davon hinzufügt achtet darauf, dass die GUIDs unterschiedlich sind.
Speichern und das war es.
Ihr könnt jetzt im Terminal oben auf den Pfeil klicken und ihr solltet nun den Eintrag sehen, könnt diesen anwählen und seid automatisch auf dem System angemeldet.
Für mich ist das eine super Lösung, da ich so auf mehreren Systemen gleichzeitig arbeiten kann und mich nicht mehr extra anmelden muss. Ich hoffe ich konnte euch mit meiner ersten Anleitung etwas helfen.
Für alle Linux-Vollprofis: Ich bin keiner, seht mir daher ggf. kleine Fehler nach :-)
Da einige sicherlich gerne noch Windows als ihren Hauptrechner benutzen, ich noch immer sehr oft hier im Forum lese, dass Putty für SSH empfohlen wird und ich eine für mich sehr charmante Lösung unter Windows gefunden habe, wollte ich das gerne mit euch teilen.
Grundsätzlich ist es seit dem Windows Update 1809 möglich SSH Verbindungen aufzubauen. Leider ist das kaum bekannt, daher dieser Tipp für euch.
Dass heißt, ihr könnt einfach das Terminal öffnen und euch mit dem Zielsystem verbinden.
Code:
ssh IP-DES-ZIELS
Code:
ssh USERNAME@IP-DES-ZIELS
Da wir hier im Edomi Bereich sind, habe ich die Anleitung auf CentOS gemünzt. Bei anderen Distros mag das ggf. leicht abweichen.
Dafür bitte nicht die normale Kommandozeile sondern bitte die "Windows PowerShell" öffnen. Einfach mal unter Start danach suchen.
Als erstes melden wir uns mit dem gewünschten User per SSH an, um ein paar Einstellungen auf dem Linux-System zu tätigen (mit "yes" bestätigen).
Code:
ssh USERNAME@IP-DES-ZIELS
Code:
dir .ssh
Code:
mkdir .ssh
Code:
dir .ssh/authorized_keys
Code:
touch .ssh/authorized_keys
Dafür gehen wir erstmal in den root-Modus und geben das Passwort vom Benutzer ein.
Code:
sudo -i
Code:
cat <<EOF >> /etc/ssh/sshd_config PubkeyAuthentication yes PasswordAuthentication yes EOF
Code:
exit
Code:
sudo chmod 700 .ssh
Code:
sudo chmod 600 .ssh/authorized_keys
Code:
sudo service sshd restart
Code:
exit
Code:
ssh-keygen
Im folgenden den USERNAME durch euren Benutzer sowie IP-DES-ZIELS mit der IP oder dem Hostname ersetzen.
Code:
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh USERNAME@IP-DES-ZIELS 'cat >> .ssh/authorized_keys'
Code:
ssh USERNAME@IP-DES-ZIELS
- OPTIONAL -
Um das Ganze jetzt noch perfekt zu machen, möchte ich euch das neue Windows Terminal und deren Möglichkeiten aufzeigen.
Screenshot.png
Hier ist es möglich, bereits fertige Profile zu hinterlegen und ihr könnt mehrere Tabs öffnen und euch direkt an einer Maschine anmelden. (und auch optisch ändern, daher sieht mein Screenshot sicher etwas anders aus als bei euch)
Dafür müssen wir dieses Terminal erstmal im Windows Store installieren. Sucht dafür im Store einfach nach "Terminal" (Windows Terminal (Preview) ).
Jetzt legen wir uns ein SSH-Profil (quasi eine Voreinstellung) für einen Linux-Rechner an.
Dafür erstellen wir unter folgendem Pfad eine neue Datei mit dem Namen config (ohne Endung).
Dafür im Windows Explorer in der Adresszeile folgendes einfügen:
Code:
%USERPROFILE%/.ssh/
Dort könnt ihr einen oder mehrere der folgenden Blöcke einfügen.
Code:
Host AmbilightPi Hostname 10.0.0.9 Port 22 User carsten
Speichern und schließen.
Jetzt öffnen wir das neue Windows Terminal (Preview), klicken oben rechts auf den Pfeil und dann auf Settings.
In der Datei fügt ihr bei den Profiles folgenden Block hinzu:
Code:
{ "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6102}", "name": "IRGENDEIN_NAME", "commandline": "ssh.exe HOSTNAME", "hidden": false, "closeOnExit": true },
Falls ihr mehrere davon hinzufügt achtet darauf, dass die GUIDs unterschiedlich sind.
Speichern und das war es.
Ihr könnt jetzt im Terminal oben auf den Pfeil klicken und ihr solltet nun den Eintrag sehen, könnt diesen anwählen und seid automatisch auf dem System angemeldet.
Für mich ist das eine super Lösung, da ich so auf mehreren Systemen gleichzeitig arbeiten kann und mich nicht mehr extra anmelden muss. Ich hoffe ich konnte euch mit meiner ersten Anleitung etwas helfen.
Für alle Linux-Vollprofis: Ich bin keiner, seht mir daher ggf. kleine Fehler nach :-)