ssheinfach aktualisiert

kraeml 2023-10-02 06:50:19 +00:00
parent 6d878af49b
commit 55f7624d07
1 changed files with 61 additions and 1 deletions

@ -22,4 +22,64 @@ Auf der __Server__-Seite:
- /etc/ssh/sshd_config: Die Hauptkonfigurationsdatei für den SSH-Server.
- ~/.ssh/authorized_keys: Eine Datei, die die öffentlichen Schlüssel von Benutzern enthält, die sich am Server authentifizieren dürfen.
Diese Dateien helfen bei der Konfiguration und Sicherheit des SSH-Protokolls.
Diese Dateien helfen bei der Konfiguration und Sicherheit des SSH-Protokolls.
## config
Die Datei ~/.ssh/config wird verwendet, um SSH-Konfigurationsoptionen für verschiedene Hosts festzulegen. Hier ist ein Beispiel für eine solche Konfiguration mit dem Host "foo", der IP-Adresse "10.0.3.110", dem Benutzernamen "ubuntu" und dem Passwort "
ubuntu" (obwohl SSH normalerweise Schlüssel verwendet, nicht Passwörter):
```plaintext
Host foo
HostName 10.0.3.110
User ubuntu
PasswordAuthentication yes
PasswordAuthentication yes
```
Bitte beachten Sie, dass die Verwendung von Passwörtern in SSH-Konfigurationen aus Sicherheitsgründen nicht empfohlen wird. Stattdessen sollten Sie SSH-Schlüssel verwenden, um die Sicherheit Ihrer Verbindungen zu erhöhen.
Um SSH einen anderen Pfad zur Konfigurationsdatei als ~/.ssh/config mitzuteilen, können Sie das -F-Flag verwenden, gefolgt vom gewünschten Dateipfad. Zum Beispiel:
```bash
ssh -F /pfad/zur/anderen/config ~/.ssh/zielserver
```
Dadurch wird SSH angewiesen, die Konfiguration aus der angegebenen Datei zu laden, anstatt die Standardkonfiguration unter ~/.ssh/config zu verwenden.
## knwon_hosts
Die Datei ~/.ssh/known_hosts enthält öffentliche Schlüssel von Hosts, zu denen du eine SSH-Verbindung hergestellt hast. Diese Schlüssel dienen dazu, die Identität der Hosts zu überprüfen, um Man-in-the-Middle-Angriffe zu verhindern. Die Datei enthält normalerweise Zeilen im Format "<Hostname> <Typ des Schlüssels> <Öffentlicher Schlüssel>". Du kannst sie mit einem Texteditor öffnen, um den Inhalt anzuzeigen.
In der ~/.ssh/known_hosts-Datei speichert OpenSSH Informationen über bekannte Hosts, zu denen eine SSH-Verbindung hergestellt wurde. Bei jeder ersten Verbindung zu einem neuen Host wird der öffentliche Schlüssel des Servers in diese Datei geschrieben. Bei zukünftigen Verbindungen prüft SSH dann diesen Schlüssel, um Man-in-the-Middle-Angriffe zu erkennen.
Standardmäßig werden die Hostnamen oder IP-Adressen in der known_hosts-Datei aus Datenschutzgründen gehasht, sodass sie nicht direkt lesbar sind. Dies dient dazu, Informationen über die Netzwerkstruktur und Verbindungsgewohnheiten des Benutzers zu verbergen.
Um die Hostnamen und IP-Adressen in known_hosts lesbar zu erstellen, können Sie folgende Schritte durchführen:
1. **Hashing deaktivieren**: Bei der ersten Verbindung zu einem neuen Host können Sie das Hashing mit dem -o HashKnownHosts=no-Parameter deaktivieren:
```
ssh -o HashKnownHosts=no user@host
```
2. **Lesbares Format anzeigen**: Wenn Ihre known_hosts-Datei bereits gehashte Einträge enthält und Sie diese entschlüsseln möchten, ist dies leider nicht direkt möglich, da das Hashing irreversibel ist. Es ist jedoch möglich, gehashte Einträge zu löschen und dann erneut eine Verbindung ohne Hashing herzustellen.
Es ist wichtig zu beachten, dass das __Deaktivieren des Hashings__ ein potenzielles __Datenschutzrisiko darstellen__ kann, insbesondere auf Mehrbenutzersystemen oder Systemen, auf die andere Zugriff haben könnten. Es ist immer eine Abwägung zwischen Sicherheit/Datenschutz und Benutzerfreundlichkeit.
Um einen anderen Pfad anzugeben, verwende die Option "-o UserKnownHostsFile=<Pfad>" in der SSH-Konfigurationsdatei oder den Befehl "ssh -o UserKnownHostsFile=<Pfad>".
## authorized_keys
Die Datei ~/.ssh/authorized_keys enthält öffentliche SSH-Schlüssel, die es einem Benutzer ermöglichen, sich auf einem SSH-Server ohne Passwortanmeldung anzumelden. Hier ist ein Beispiel für den Eintrag in dieser Datei, wenn sich der Benutzer vagrant auf einem SSH-Server namens foo mit dem Benutzer ubuntu anmelden möchte:
``
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCw6EKy... [öffentlicher Schlüssel] ... vagrant@lokaler-Rechner
```
Der öffentliche Schlüssel des Benutzers vagrant würde anstelle von [öffentlicher Schlüssel] in diesem Eintrag stehen. Dieser Eintrag erlaubt es dem Benutzer vagrant, sich auf dem Server foo als Benutzer ubuntu anzumelden, ohne ein Passwort eingeben zu müssen, wenn er denselben privaten Schlüssel auf seinem lokalen Rechner besitzt.
Die Datei ~/.ssh/authorized_keys auf einem SSH-Server enthält öffentliche SSH-Schlüssel, die es autorisierten Benutzern ermöglichen, sich ohne Passwortanfrage anzumelden. Wenn sich der Benutzer "vagrant" auf dem SSH-Server "foo" als Benutzer "ubuntu"
anmelden möchte, müsste der öffentliche Schlüssel des Benutzers "vagrant" in die Datei ~/.ssh/authorized_keys des Benutzers "ubuntu" auf dem SSH-Server "foo" hinzugefügt werden.
Die Datei ~/.ssh/authorized_keys befindet sich normalerweise im Home-Verzeichnis des Benutzers "ubuntu" auf dem Host bzw. SSH-Server "foo". Sie wird dem Benutzer "ubuntu" zugeordnet, da die Datei in seinem Home-Verzeichnis liegt und die SSH-Verbindung im Kontext dieses Benutzers hergestellt wird.