Posts mit dem Label SSH werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SSH werden angezeigt. Alle Posts anzeigen

Samstag, 19. Oktober 2024

OpenSSH - Authentifizierung mittels Public-Key (Ubuntu, Raspberry Pi)

In diesem Artikel beschreibe ich, wie man den SSH-Zugang z.B. bei einem Raspberry Pi (Raspberry Pi Stretch Lite - Installation incl. SSH Fernsteuerung) für eine Authentifizierung mittels Public-Key-Verfahren konfiguriert. Basisinformationen zum Thema findet ihr in meinem Artikel Asymmetrische Kryptografie - Grundwissen (Zertifikate, OpenSSL, Public-Key-Authentifizierung, RSA).


Auf dem Client muss ein Schlüsselpaar erstellt werden, der öffentliche Schlüssel muss dann  auf den Server übertragen werden. Damit ein Login ohne Passwort möglich ist, muss der Server für die Schlüssel-Authentifizierung eingerichtet werden.

Schlüsselpaar am Client generieren mit ssh-keygen:
ssh-keygen -b 4096

Ich empfehle an dieser Stelle den Standardspeicherort beizubehalten, so kann der SSH-Client den SSH-Schlüssel automatisch bei der Authentifizierung finden.

Die Passphrase ist optional, welche zur Verschlüsselung der privaten Schlüsseldatei verwendet wird. Es wird empfohlen, den Schlüssel mit einer Passphrase zu schützen!

Jetzt muss der öffentliche Schlüssel auf den Server übertragen werden. Dies erfolgt mittels ssh-copy-id:
ssh-copy-id -i .ssh/id_rsa.pub pi@192.168.1.110

Der öffentliche Schlüssel befindet sich jetzt am Server, dies kann man mittels ssh testen:
ssh -i .ssh/id_rsa pi@192.168.1.110

Hinweis: Es wird hier jetzt nach Passphrase gefragt, mit der der Schlüssel geschützt ist!

Um seinen Server gegen Brute-Force-Angriffe zu schützen, sollte man die Passwort-Authentifizierung deaktivieren.

Hierfür muss die sshd-Konfiguration angepasst werden. Danach ist es nicht mehr möglich sich mit einem Passwort anzumelden:
sudo nano /etc/ssh/sshd_config
PasswordAuthentication no
sudo service ssh restart


Sonntag, 19. Juni 2022

Synology NAS - Home-Verzeichnis für Benutzer hinzufügen incl. SSH Zugriff per Schlüssel

Wird das Synology NAS von mehreren Personen verwendet, ist es sinnvoll jedem sein eigenes Home-Verzeichnis anzubieten. So kann jeder Benutzer seinen eigenen Bereich für Daten oder auch Ordner verwenden. Anschließend kann dies auch genutzt werden, um je User einen eignen Schlüssel für den SSH Zugriff zu hinterlegen.


Benutzer-Home-Dienst aktivieren

  • Hierfür muss man die "Systemsteuerung" öffnen und dort "Benutzer und Gruppe" auswählen und dort den Reiter "Erweitert" anklicken.
  • Jetzt einen Haken bei „Benutzer-Home-Dienst aktivieren“ setzen.

Anschließend wird automatisch für jeden User ein Home-Verzeichnis angelegt. Hinweis: Ggf. macht es Sinn je User/Gruppe eine Quota (Speicherplatz Beschränkung) zuweisen.

SSH-Keys generieren und im Home-Verzeichnis ablegen

SSH-Dienst aktivieren und das unsichere TELNET ggf. nur temporär aktivieren.

  • ssh <benutzername>@<ip-adresse>
  • telnet <ip-adresse>

Wichtig ist die Verwendung des Algorithmus ED25519, ist aktuell der am meisten zu empfehlende public-key Algorithmus und in OpenSSH vorhanden.

ssh-keygen -t ed25519 -C "redleffer@192.168.1.50" cat ~/.ssh/id_ed25519.pub

Weitere Informationen dazu finden sich unter:

Samstag, 22. Mai 2021

Raspberry Pi - Vorkonfiguration (WLAN, SSH, hostname, locale) vor dem ersten Start mit Raspberry Pi Imager

Wie man einen Raspberry Pi installiert und initial einrichtet, habe ich bereits in den Artiklen Raspberry Pi Stretch Lite - Installation incl. SSH Fernsteuerung, Raspberry Pi Stretch - WLAN vor dem ersten Start konfigurieren und Raspberry Pi - statische IP bzw. initiale IP-Adresse vergeben (cmdline-txt) beschrieben. Ich gehe kurz auf den "Raspberry Pi Imager" ein, welcher dies jetzt direkt unterstützt.

Mittlerweile bietet das offizielle Image-Tool „Raspberry Pi Imager“ die Möglichkeit zu den o.g. Konfigurationen an und schreibt diese direkt auf die SD-Karte, anschließend kann das erste Booten vom Raspi direkt mit den gewünschten Einstellungen erfolgen. So lässt sich mittlerweile sehr viel Zeit bei der Ersteinrichtung sparen!

Update 07.04.2024: Auch beim Steam Deck kann der Imager verwendet werden. Siehe https://flathub.org/apps/org.raspberrypi.rpi-imager.


Das Raspberry Pi Imager Tool beschreibt die SD-Karte mit dem Betriebssystem und so wird beim ersten Start direkt eine Verbindung zum WLAN aufgebaut, SSH ist aktiv und man den Pi direkt per Konsole ansprechen. Desweiteren ist die Tastaturbelegung korrekt hinterlegt und auch das bekannte und unsichere Passwort „raspberry“ ist geändert. 

Download von Version 1.6.1 => https://github.com/raspberrypi/rpi-imager/releases/tag/1.6.1

Zusätzlich zum Betriebssystem „Raspberry Pi OS“ bietet Imager weitere Images an. Zum Beispiel die Lite-Variante (keine grafische Oberfläche) oder auch RetroPie (Retro-Spielekonsolen Emulatoren).

Donnerstag, 30. Juli 2020

Windows 10 - OpenSSH und Windows Terminal

OpenSSH wird mittlerweile unter Windows 10 mit der Version 1809 standardmäßig mit installiert. So kann man sich genau wie unter Linux zu jedem Gerät mit aktivierten SSH verbinden oder SSH-Keys direkt unter Windows 10 erstellen.


Verbindung zu einem RaspberryPi aufbauen:
  • ssh pi@192.168.1.110

SSH-Keys erzeugen (wenn eine Anmeldung per Kennwort verboten ist):
  • ssh-keygen
Standardmäßigen wird ein 2048-Bit-RSA-Key erstellt. Weitere Infos auch hier: https://docs.microsoft.com/de-de/windows-server/administration/openssh/openssh_keymanagement

Das neue Windows Terminal kann man mittlerweile vielfältig seinen Wünschen anpassen. Zum Beispiel kann man von der PowerShell aus Windows Terminal mit drei Bereichen (Eingabeaufforderung, PowerShell und Linux) öffnen.


wt -p "Command Prompt" `; split-pane -p "Windows PowerShell" `; split-pane -H wsl.exe


Weitere Infos finden sich hier: https://docs.microsoft.com/de-de/windows/terminal/

Dienstag, 29. Oktober 2019

Kommandozeilen Spiel - moon-buggy (Moon Patrol)

Für viele die mit dem Raspberry Pi experimentieren und ihn ohne GUI bzw. X-Server betreiben, gibt es mittlerweile einige Spiele, die man nur auf der Kommandozeile bzw. in der Shell spielen kann.
Siehe auch https://sebastianhemel.blogspot.com/2018/03/kommandozeilen-spiel-ninvaders-space.html .

Eines davon ist zum Beispiel moon-buggy, dabei handelt es sich um eine Variante des Rennspiels Moon Patrol.

Installieren kann man es einfach mit dem folgenden Befehl:
sudo apt-get install moon-buggy

Danach lässt sich das Spiel mit dem folgenden Befehl starten:
moon-buggy

Vielp Spaß beim Zocken!

Sonntag, 15. Juli 2018

Raspberry Pi Stretch Lite - Installation incl. SSH Fernsteuerung

Die Installation habe ich bereits im Beitrag vom 23.05.2015 (http://sebastianhemel.blogspot.de/2015/05/raspberry-pi-raspbian-wheezy.html) beschrieben. Daher wieder ein kurzes Update zum aktuellen Raspbian Stretch Lite.

Update 13.12.2021: Mittlerweile lässt mit dem offiziellen Tool "Raspberry Pi Imager" bequem das jeweilige OS auswählen und auf auf das Speichermedium schreiben.

Der Download ist wie gewohnt unter https://www.raspberrypi.org/downloads/raspbian/ möglich. Nach dem Download muss das Zip-Archiv entpackt werden. Das Image ist folgendermaßen aufgebaut:

  • yyyy-mm-dd-wheezy-raspbian.img

Anschließend kann das Image mit Hilfe des Programms Etcher Portable oder auch mit dem bereits zuvor erwähnten Win32 Disk Imager auf eine FAT-32 formatierte SD-Karte installiert werden.


Nun sollte die Karte kurz aus dem Kartenleser entfernt werden und gleich weider eingesteckt werden. Jetzt kann man auf der Bootpartition des Pi eine leere Datei mit dem Namen ssh anlegen, um den Fernzugriff per ssh zu aktivieren. Siehe auch https://www.raspberrypi.org/documentation/remote-access/ssh/.

Hierfür kann man den folgenden Power-Shell Befehl verwenden:
fsutil file createnew ssh 0

Danach ist der Zugriff mit putty und der IP-Adresse des Pi oder mit dem Host Name raspberrypi auf die Kommandozeile möglich. Benutzername und Passwort sind per default pi / raspberry .

Zum Einrichten einer statischen IP-Adresse verweise ich auf den folgenden Beitrag: http://sebastianhemel.blogspot.com/2017/01/raspberry-pi-wlan-konfiguration-inkl.html

Update Januar 2019: Raspberry Pi Stretch - WLAN vor dem ersten Start konfigurieren


Im Anschluss können die folgenden Einstellungen vorgenommen werden: http://sebastianhemel.blogspot.com/2015/05/raspberry-pi-einrichtung-nach.html

Sonntag, 4. März 2018

Kommandozeilen Spiel - ninvaders (Space Invaders)

Für viele die mit dem Raspberry Pi experimentieren und ihn ohne GUI bzw. X-Server betreiben, gibt es mittlerweile einige Spiele, die man nur auf der Kommandozeile bzw. in der Shell spielen kann.

Eines davon ist zum Beispiel ninvaders, dabei handelt es sich um eine Variante des Weltraum-Ballerspiels Space Invaders. Interessant ist sicherlicher auch der folgende Pacman-Klon.

Installieren kann man es einfach mit dem folgenden Befehl:
sudo apt-get install ninvaders

Danach lässt sich das Spiel mit dem folgenden Befehl starten:
ninvaders
/usr/games/ninvaders

Vielp Spaß beim Zocken!


Freitag, 29. Dezember 2017

Was bedeutet die Nachricht “You have mail” unter Linux/UNIX?

Loggt man sich via SSH auf der Konsole eines Linux Rechners ein, erhält man manchmal eine Nachricht, dass man eine neue Mail "You have mail." hat.


Using username "hemel".
hemel@xxxxxxx.de's password:
Welcome to Ubuntu 1xxx

 * Documentation:  https://help.ubuntu.com/
You have mail.
Last login: Wed Sep  6 10:04:24 2017 from
xxxxxxx.de
hemel@xxxxxx:~$


Meistens enthalten die Nachrichten Ausgaben von Cron-Jobs oder System-Sicherheitsberichte. Daher sollte man diese Nachrichten auch lesen, da diese eventuell weiteren Handlungsbedarf erfordern.


Folgende Möglichkeiten bieten sich an, um die Nachrichten zu lesen:
  • Das Programm "mail" verwenden
    • Eine Nachrichtennummer aus der Liste eingeben, welche man lesen möchte.
    • Um zur nächsten Nachricht zu gelangen, kann man 'next' eingeben, ein weiterer nützlicher Befehl ist 'delete'. 
      • root@xxxxxx:/var/spool/mail# mail
      • No mail for root 
  • Im Mail-Verzeichnis die Nachrichten auslesen 
    • /var/mail/$USER oder /var/spool/mail/$USER 
    • Beispiel: less +G /var/mail/root
      • Zeigt die letzten Nachrichten, am Ende der Datei.

Freitag, 6. November 2015

Webservice Abfrage per Konsole mit wget

Mit Hilfe von Soap UI kann man Anfragen von Webservices (z.B. Axis2) per GUI testen. Allerdings kann es vorkommen, dass z.B. nur der jeweilige Server eine Firewallfreischaltung für den Webservice hat. Ist dies der Fall, kann man eine Webservice Anfrage auch mittels Konsole und wget durchführen.

Dafür benötigt man folgendes:
  • input.xml - Anfrage an den Webservice
  • soapResponse.xml - Hier wird der Response vom Webservice hinterlegt
  • webservice.sh - Ausführbares shell script mit der wget Anfrage
Inhalt webservice.sh (incl. Basic-Auth und http-header):

wget http://www.xqz.de/axis2/services/WebService --http-user=TEST --http-password=XYZ123 --post-file=input.xml --header="Content-Type: text/xml" --header="user: TEST" --output-document=soapResponse.xml

Freitag, 18. September 2015

Windows - SSH-Dateitransfer mit Netzlaufwerk

Wer eigenen Webspace oder auch einen Server hat, kann mit wenigen Schritten diesen bzw. bestimmte Ordner verschlüsselt per SSH / SFTP Protokoll in den Windows Explorer einbinden.

Hierfür kann man das Tool SFTP Net Drive https://www.eldos.com/sftp-net-drive/ verwenden.

Nach dem Download und Installation des Programmes müssen noch die jeweiligen Zugangsdaten hinterlegt werden:

Anschließend ist der SSH Zugang als Netzlaufwerk im Explorer verfügbar.