SSH Netzwerk einrichten

SSH Netzwerk einrichten

SSH Netzwerk einrichten mit Manjaro – eine genaue Anleitung.

Bei dieser Installations-Anleitung wird oft bei Kommandozeilen-Eingaben das Wort Benutzername verwendet. Dieses muss immer durch den eigenen Benutzernamen ersetzt werden.

  1. SSH beziehungsweise SSHD installieren mit dem Konsolenbefehl: $ sudo pacman -S openssh Wenn man von beiden Netzwerkcomputern gegenseitig Zugriff erhalten möchte, muss man alle diese Schritte, auf beiden Rechnern ausführen. Die beiden Netzwerk Rechner sollten besser nicht den gleichen Benutzernamen haben.

  2. Ordner erstellen, welcher fürs Netzwerk freigegeben werden soll. Im Verzeichnis /home/Benutzername erstellt man einen Ordner namens share.

  3. Für diesen Ordner muss man die Zugriffsberechtigungen einrichten. Mit einem rechtsklick auf den Ordner share öffnet man das Menü des Ordner. Dort wählt man Berechtigungen. Dort bei Eigentümer, Gruppe und Sonstige, Anzeige & Änderung des Inhalts möglich auswählen. Oder man verwendet Kommandozeilenbefehl: $ chmod 777 share

  4. Jetzt muss der Benutzer fürs SSH Netzwerk freigegeben werden. Dafür muss im Ordner /home/Benutzername/.ssh die Datei config angelegt werden.

  5. In diese Datei schreibt man die folgenden Zeilen. Dadurch kann man sich dann statt mit $ ssh Benutzername@Hostname mit $ ssh Benutzername anmelden. Der HostName ist die IP-Adresse des entfernten Computers): Host Benutzername HostName 190.100.100.20 User Benutzername

  6. Der ssh Dienst muss aktiviert und gestartet werden. Befehle in der Konsole eingeben: $ Systemctl enable sshd und $ Systemctl start sshd.

  7. Jetzt kann man eine Verbindung herstellen mit: $ ssh Benutzername@Hostname oder mit $ ssh Benutzername. Der Hostname ist die ip-Adresse des entfernten Rechners.

    Bei der ersten Verbindung wird automatisch ein Sicherheitsschlüssel eingerichtet. Das ist der sogenannte "Fingerprint". Deshalb bekommt man beim erstmaligen aufrufen der Verbindung die Meldung:

    «The authenticity of host ‚github.com (140.82.121.3)‘ can’t be established. RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8. Are you sure you want to continue connecting (yes/no/[fingerprint])?»

    Diese Meldung muss bestätigt werden mit yes. Damit wird in der Datei known_hosts im Verzeichnis /home/Benutzername/.ssh/ dieser Schlüssel eingetragen und das auf beiden Computern.

    Wenn man in der sshd_config einen andern Port aktiviert hat lautet der Kommandozeilen-Befehl für die Netzwerkverbindung $ ssh -p 980 Benutzername@Hostname. Die Zahl 980 muss durch die richtige Portnummer ersetzt werden.

  8. Man kann auch eine Netzwerk-Verbindung mit dem Dateimanager Dolphin als Administrator herstellen.

  9. Im linken Seitenmenü auf Netzwerk klicken, dann oben rechts auf Netzwerkordner hinzufügen klicken.

  10. Im Dialogfeld Sichere Shell (ssh) wählen.
    Name: einen Verbindungsnamen wählen
    Benutzer: Benutzernamen des entfernten Rechners
    Server: Netzwerkadresse des entfernten Rechners (190.100.100.20)
    Port: 22 (wenn man diesen Wert in der sshd_config ändert muss er angepasst werden)
    Protokoll: fish (das ist ssh)
    Ordner: Adresse des freigegebenen Ordners (z.B. /home/Benutzername/share)
    Kodierung: Symbol für diesen Netzwerkordner anlegen: Haken ist standardmässig schon drin.
    Dann auf Speichern & Verbinden klicken. Damit ist die Verbindung hergestellt und gesichert. Die Verbindung wird im Menü Netzwerk
    gespeichert und kann so ganz leicht aufgerufen werden. Bei Änderungen am Netzwerk muss man den Menüpunkt löschen und neu einrichten.

  11. Jetzt kann und sollte man die Sicherheit auf ein höheres Level bringen. Dazu ersetzt man die Fingerprint/Passwort Methode durch die Public key Authentifizierung.

  12. Erstellen des Schlüssels (Public key) mit dem Befehl: $ ssh-keygen -b 4096 . Damit werden die Dateien id_rsa.pub und id_rsa im Ordner /home/Benutzername/.ssh erstellt. Nach Eingabe des Befehls wird man gefragt ob man eine Passphrase eingeben möchte. Das muss man unbedingt machen, denn ohne kann keine Verbindung hergestellt werden. Zur Sicherheit muss das Passwort für die Passphrase zwei mal eingegeben werden.

  13. Diese Datei muss nun auf den entfernten Computer, den Server, übertragen werden. Mit dem Befehl:
    $ cat /home/Benutzername/.ssh/id_rsa.pub | ssh Benutzername@Hostname 'cat>> /home/man/.ssh/authorized_keys'

    Den ersten Benutzernamen ersetzt man durch den Benutzernamen des eigenen Computers. Den zweiten Benutzernamen durch den des entfernten Computers. Hostname ersetzt man durch die ip-Adresse des entfernten Computers. Damit wird die Datei mit dem Schlüssel auf den Server kopiert und umbenannt in authorized_keys. Man sollte testen ob die Schlüsseldatei auf dem Server erstellt wurde und ob die Datei auch den Schlüssel enthält. Sonst kann man den Schlüssel auch auf einen USB-Stick kopieren. Die Datei id_rsa.pub` umbenennen in `authorized_keys und dann auf dem Server in den Ordner /home/Benutzername/.ssh kopieren. Auf keinen Fall darf die Datei id_rsa (ohne die Endung .pub) auf den Server kopiert werden.

  14. Damit der Schlüssel seine Funktion auch erfüllt muss die Datei sshd_config im Ordner /etc/ssh angepasst werden.

    Sichern Sie vor der Bearbeitung die aktuelle Version dieser Datei mit dem Befehl: $ sudo cp /etc/ssh/sshd_config.bak

    Öffnen Sie sshd_config mit einem Texteditor wie gedit, kate oder nano. Gedit installiert man mit dem Befehl: $ sudo pacman -S gedit. Die Datei kann nur mit Administratorrechten bearbeitet werden, deshalb wird dem Programmaufruf von gedit sudo vorangestellt. Um die Datei zu bearbeiten lautet der Befehl: $ sudo gedit /etc/ssh/sshd_config .

    1. Anpassung von #Port 22 , statt 22 sollte man eine Zahl wählen zwischen 1 und 1024. Das Zeichen # muss entfernt werden um den Eintrag zu aktivieren. Die Portdeklaration gibt an, mit welchen Kanal der sshd-Server die Verbindungen zum sshd-Client herstellt. Das ist für die Sicherheit wichtig.

    2. #PubkeyAuthentication yes ( # löschen) #PasswordAuthentication no ( # löschen und yes durch no ersetzen) #UsePAM no ( # löschen) #PermitRootLogin no ( # löschen und yes durch no ersetzen) #PermitEmptyPasswords no ( # löschen und yes durch no ersetzen) #MaxAuthTries 6 ( # löschen)

    3. Danach muss man den ssh server neu starten mit dem Befehl: $ sudo systemctl reload ssh .

  15. Man muss für die folgenden Ordner und Dateien die Berechtigungen kontrollieren und gegebenenfalls anpassen. Das ist am einfachsten mit dem chmod Befehl: Für den Ordner .ssh = $ chmod 700 .ssh
    Für denFreigegebenen Netzwerk Ordner share = $ chmod 600 share
    Für die Datei authorized_keys = $ chmod 600 .ssh/authorized_keys
    Datei id_rsa.pub $ chmod 644 .ssh/id_rsa.pub.

SSH Netzwerk einrichten

Mehr Videos findet man auf meinem Youtube Kanal linuxcoach:
https://www.youtube.com/@linuxcoach

Ein weiterer Interessanter Artikel zu diesem Thema:
https://computer-experte.ch/fernwartung-mit-rustdesk/