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
knb:ssh [2019/10/22 19:23]
heili [B.A.T.M.A.N.-ADV Version]
knb:ssh [2020/06/04 18:49] (aktuell)
Django [SSH-Clientconfig]
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 46: Zeile 50:
  
 Host ff_pliening_gbw_od Host ff_pliening_gbw_od
-     ​Hostname ​[2001:​608:​a01:​106:​822a:​a8ff:​feea:​fae3]+     ​Hostname 2001:​608:​a01:​106:​822a:​a8ff:​feea:​fae3
      Port 22      Port 22
      User root      User root
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.1571772204.txt.gz
  • Zuletzt geändert: 2019/10/22 19:23
  • von heili