knb:ssh

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
knb:ssh [2020/06/04 16:35] – [SSH-Clientconfig] Djangoknb:ssh [2020/06/04 18:49] – [SSH-Clientconfig] Django
Zeile 5: Zeile 5:
  
 ====== Administration eines Freifunk-Knotens via SSH ====== ====== Administration eines Freifunk-Knotens via SSH ======
-{{:ffmuc_logo.png?nolink&150 |Bild: Freifunk München Logo}} Zur Administration unseres bzw. unserer Freifunk-Knoten verwenden wir die **SSH**(([[https://de.wikipedia.org/wiki/Secure_Shell|Secure SHell]])), da uns hier der volle Zugriff auf den Router gestattet, Konfigurationen im laufenden Betrieb vorzunehmen, Parameter abzufragen oder auch zusätzlich Programm zu starten. Viele hilfreiche Informationen rund um die **SSH** finden sich unter anderem in Djangos WIKI im Kapitel [[https://dokuwiki.nausch.org/doku.php/centos:ssh_c7|Secure Shell]] zu finden.+{{:ffmuc_logo.png?nolink&150 |Bild: Freifunk München Logo}} Zur Administration unseres bzw. unserer Freifunk-Knoten verwenden wir die **SSH**(([[https://de.wikipedia.org/wiki/Secure_Shell|Secure SHell]])), da uns hier der volle Zugriff auf den Router gestattet, Konfigurationen im laufenden Betrieb vorzunehmen, Parameter abzufragen oder auch zusätzlich Programm zu starten. Ohne gewisse Vorkentnisse ist freilich die SSH selbst für den Einsteiger meist ein Buch mit sieben Siegeln. Es lohnt sich daher einen Blick in einschlägige Anleitungen, die viele hilfreiche Informationen rund um die **SSH** vorhalten, wie zum Beispiel in Djangos WIKI im Kapitel [[https://dokuwiki.nausch.org/doku.php/centos:ssh_c7|Secure Shell]] zu finden.
  
 ===== Vorbereitungen ===== ===== Vorbereitungen =====
 ==== SSH-Key ==== ==== SSH-Key ====
-Für den Zugriff benötigen wir natürlich ein entsprechendes SSH-Schlüsselpaar, welches wir uns zunächst erstellen. +Für den Zugriff benötigen wir natürlich ein entsprechendes SSH-Schlüsselpaar, welches wir uns zunächst erstellen. Aktuell ((Stand. 2020)) werden leider noch keine [[https://de.wikipedia.org/wiki/Curve25519|Ed25519]]Schlüssel, einem ein Elliptic Curve Signature Schema, welches beste Sicherheit bei vertretbaren Aufwand verspricht, als ECDSA, DSA oder RSA dies der Fall is, unterstützt. Somit werden wir uns einen RSA-Schlüssel mit ausreichend großer Schlüssellänge erstellen. 
-   ssh-keygen -b 4096 -t rsa -C [email protected] -f ~/.ssh/id_rsa4096_ff+  
 +   ssh-keygen -b 4096 -t rsa -C [email protected] -f ~/.ssh/id_rsa4096_ff
  
 <code>Generating public/private rsa key pair. <code>Generating public/private rsa key pair.
Zeile 33: Zeile 34:
  
 ==== SSH-Clientconfig ==== ==== SSH-Clientconfig ====
-Um nun nicht jedes mal beim Aufruf einer SSH-Verbindung zu einem unserer Knoten, Parameter wie **user** und die doch sehr langen **IPv6**-Adressen angeben zu müssen, hinterlegen dwir die entsprechenden Daten in der Konfigurationsdatei unseres lokalen SSH-Clients auf unserem Admin-Rechners. Dies hat darüber hinaus auch noch zusätzlich den Vorteildass z.B. von einem Netz aus, bei dem es "nur" **IPv4**-Adressen Verwendung finden wir keinen zusätzlichen Sprunghost angeben müssen. Dies erleichtert die Arbeit doch ungemeinvor allem dann wenn Dateien von und zum Router kopiert werden müssen. Hintergrundinformationen zur Clientkonfiguration sind im Kapitel [[https://dokuwiki.nausch.org/doku.php/centos:ssh_c7#client_konfiguration|Client Konfiguration bei der Secure Shell]] zu finden.+Um nun nicht jedes mal beim Aufruf einer SSH-Verbindung zu einem unserer Knoten, Parameter wie **user** und die doch sehr langen **IPv6**-Adressen angeben zu müssen, hinterlegen dwir die entsprechenden Daten in der Konfigurationsdatei unseres lokalen SSH-Clients auf unserem Admin-Rechners. Können wir den Zielhost direkt erreichenso brauchen wir die IPv6-Adresse nicht mit **[** maskieren, wir können diuese also direkt angebenewie in dem gezeigtem Beispiel\\ 
 +**''Hostname 2001:608:a01:106:822a:a8ff:feea:fae3''**.
  
-So ist z.B. in nachfolgendem Konfigurationsbeispiel der Router **ff_pliening_gbw_od** direkt erreichbar und der Router **ff_pliening_gbw_od-e** nur über den Sprunghost mit Namen **jumphost**, der natürlich auch eine entsprechende Konfiguration aufweist. +Die Verwendung einer eignen individuellen SSH-Clinetkonfigurationsdatei hat darüber hinaus auch noch zusätzlich den Vorteil, dass z.B. von einem Netz aus, bei dem es "nur" **IPv4**-Adressen Verwendung finden wir keinen zusätzlichen Sprunghost angeben brauchen. Hier müssen wir lediglich dann darauf achten, dass die IPv6_Zieladresse dann mit Hilfe von **[** entsprechend maskiert werden, wie im nachfolgenden Beispiel beim Host **ff_pliening_gbw_od-e** dann: \\ **''Hostname [2001:608:a01:106:822a:a8ff:feea:fae3]''**. Dies erleichtert die Arbeit doch ungemein, vor allem dann wenn Dateien von und zum Router kopiert werden müssen. Hintergrundinformationen zur Clientkonfiguration sind im Kapitel [[https://dokuwiki.nausch.org/doku.php/centos:ssh_c7#client_konfiguration|Client Konfiguration bei der Secure Shell]] zu finden. 
-   vim ~/.ssh/config+ 
 +So ist z.B. in nachfolgendem Konfigurationsbeispiel der Router **ff_pliening_gbw_od** direkt erreichbar und der Router **ff_pliening_gbw_od-e** nur über den eigenen Sprunghost, der dann das Bindeglied zwischen IPv4 und IPv6 herstellt, mit Namen **jumphost**, der natürlich auch eine entsprechende Konfiguration aufweist. Der sicherheitsbewusste Admin von entsprechenden Hosts/Servern und Freifunkknoten wird natürlich unterschiedliches Schlüsselmaterial fü die verschiedenen Systeme (Sprungosts und anderen Servern) und den Freifunkknoten verwenen. Die jeweiligen Schlüssel werden mit dem Parameter **''IdentityFile''** definiert
 +   vim ~/.ssh/config
 <file bash ~/.ssh/config>Host jumphost <file bash ~/.ssh/config>Host jumphost
      Hostname 217.92.13.131      Hostname 217.92.13.131
Zeile 62: Zeile 66:
  
 Wir können somit, wenn wir uns z.B. in einem IPv4-only Netzwerk aufhalten, ganz einfach durch den nachfolgenden Aufruf den Knoten **ff_pliening_gbw_od** erreichen. Wir können somit, wenn wir uns z.B. in einem IPv4-only Netzwerk aufhalten, ganz einfach durch den nachfolgenden Aufruf den Knoten **ff_pliening_gbw_od** erreichen.
-   ssh ff_pliening_gbw_od-e+   ssh ff_pliening_gbw_od-e
  
 Ebenso können wir so direkt Dateien auf den Knoten in das //**/tmp**//-Verzeichnis kopieren, da sich der SCP-Aufruf entsprechend vereinfacht, Bsp.:  Ebenso können wir so direkt Dateien auf den Knoten in das //**/tmp**//-Verzeichnis kopieren, da sich der SCP-Aufruf entsprechend vereinfacht, Bsp.: 
-   scp firmware ff_pliening_gbw_od-e:/tmp+   scp firmware ff_pliening_gbw_od-e:/tmp
  
 Hier wird nun ohne manuelle Umwege Datei **firmware** in das //**/tmp**//-Verzeichnis des Routers **ff_pliening_gbw_od**. Hier wird nun ohne manuelle Umwege Datei **firmware** in das //**/tmp**//-Verzeichnis des Routers **ff_pliening_gbw_od**.
  • knb/ssh.txt
  • Zuletzt geändert: 2024/02/26 10:21
  • von grische