Bei dieser Installations-Anleitung wird oft bei Kommandozeilen-Eingaben das Wort Benutzername verwendet. Dieses muss immer durch den eigenen Benutzernamen ersetzt werden.
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.
Ordner erstellen, welcher fürs Netzwerk freigegeben werden soll. Im
Verzeichnis /home/Benutzername
erstellt man einen Ordner namens share
.
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
Jetzt muss der Benutzer fürs SSH Netzwerk freigegeben werden. Dafür muss im
Ordner /home/Benutzername/.ssh
die Datei config angelegt werden.
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
Der ssh Dienst muss aktiviert und gestartet werden. Befehle in der Konsole eingeben:
$ Systemctl enable sshd
und $ Systemctl start sshd
.
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.
Man kann auch eine Netzwerk-Verbindung mit dem Dateimanager Dolphin als Administrator herstellen.
Im linken Seitenmenü auf Netzwerk klicken, dann oben rechts auf
Netzwerkordner hinzufügen
klicken.
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.
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
.
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.
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.
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
.
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.
#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)
Danach muss man den ssh server neu starten mit dem Befehl:
$ sudo systemctl reload ssh
.
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
.
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/