Benutzer:Cptechnik/pimp-my-router-cp
Meine (cptechnik) SSH Vereinfachungen
Wer faul ist ist auch schlau. Wer die Linux Konsole kennt und erlernt hat, kennt Abkürzungen, ich stelle meine vor.
Randbemerkung
'2a03:2260:0118:0063:dont:ask4:my2:ipv6' und 'myff1'/'myff2' sind fiktive, erfundene IP-Adressen und Hostnamen, mir fällt das leichter zu erkennen als Platzhalter wie "<Link-lokale Adresse des Nodes>".
reine shell wrapper
Map/Karte aus/an
Vorbereitung:
echo "uci set gluon-node-info.@location[0].share_location='1'">gluon-mapon;echo "uci set gluon-node-info.@location[0].share_location='0'">gluon-mapoff;chmod +x gluon-map*;mv gluon-map* /usr/bin
Anwenden:
gluon-mapon # schaltet das Anzeigen auf der Karte ein (Vorrausgesetzt dass es Konfiguriert wurde) gluon-mapoff # schaltet das Anzeigen auf der Karte aus
switch domain
Vorbereitung
echo "gluon-switch-domain ffkbu_hood_bonn">gluon-swbn;echo "gluon-switch-domain ffkbu_hood_umland">gluon-swum;chmod +x gluon-*;mv gluon-sw* /usr/bin
Anwenden
gluon-swbn # wechselt nach Bonn gluon-swum # wechselt nach Umland
Neustart/Reboot in den Konfigurationsmodus
uci set gluon-setup-mode.@setup_mode[0].enabled=1 uci commit gluon-setup-mode reboot
oder
uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot
geht einfacher
- ab 2022: gluon-enter-setup-mode
- bis 2021:
- ` echo uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot">ges;chmod +x ges;mv ges /usr/bin `
Schnittstellen neustarten
- echo "wifi;ip link set wr-wan down;ip link set wr-wan up;">iprefresh
- besteht aus
- wifi
- ip link set wr-wan down
- ip link set wr-wan up
das ganze in eine Datei geschrieben... iprefresh , ausführbar gemacht (chmod +x iprefresh) und in /usr/bin (mv iprefresh /usr/bin/) verfrachtet.
(könnte auch br-wan heissen... )
Hostnamen statt IP-Adressen benutzen
Hinzufügen mit echo
echo "2a03:2260:0118:0063:dont:ask4:my1:ipv6 myff1" >>/etc/hosts echo "2a03:2260:0118:0063:dont:ask4:my2:ipv6 myff2" >>/etc/hosts
fügt den Hostnamen am lokalen ff-Router für die IPv6 Adresse hinzu.
(gilt für ff-Router und Linux-PC, an dem das aber auch root machen muss)
Statt
ssh root@2a03:2260:0118:0063:dont:ask4:my1:ipv6
nur noch
ssh myff1
("root@" wurde hier schon weggekürzt, da man schon in einem ff-Router ist, dort ist man ja schon Root)
Bearbeiten
Mit dem auf dem Freifunk-Router installierten VIM Editor (vi) [ubuntuusers.de/VIM] können die Einträge bearbeitet werden. Dazu muss man sich ein wenig mit vi auseinandersetzen, die wichtigsten Befehle sind
- i - Editormodus
- ESC - Viewermodus
- :q - Schließen ohne Speichern ...und wenn er meckert...
- :q! - Schließen ohne Speichern, auch wenn was verändert wurde...
- :wq - Speichern und Schließen
- dd - Zeile löschen
Kopieren des ssh Schlüssels
vom Linux-PC zum anderen ff-Router
scp -6 id_rsa4096.pub root@[2a03:2260:0118:0063:dont:ask4:my1:ipv6%eth0]:/etc/dropbear/authorized_keys
bzw
scp -6 ~/.ssh/id_rsa.pub root@[2a03:2260:0118:0063:dont:ask4:my1:ipv6%eth0]:/etc/dropbear/authorized_keys
oder
cat ~/.ssh/id_rsa4096.pub | ssh root@[<Link-lokale Adresse des Nodes>%eth0] 'umask 077; cat >>/etc/dropbear/authorized_keys'
bzw
cat ~/.ssh/id_rsa.pub | ssh myff1 'umask 077; cat >>/etc/dropbear/authorized_keys'
vom ff-Router zum anderen ff-Router
Kopieren (des ssh Schlüssels) die ssh-Schlüssel¹ vom lokalen Freifunkrouter auf den (neuen) entfernten Freifunk-Router
scp /etc/dropbear/authorized_keys myff1:/etc/dropbear/authorized_keys
¹hier wird die ganze Schlüsseldatei kopiert, hier wird nicht zwischen unterschiedlichen Admins und unterschiedlich verwalteten Routern unterschieden!
whatsup
ssh dh4 batctl tl |grep W ;ssh dh2 batctl tl |grep W;ssh dh1 batctl tl |grep W
Aliase
echo "alias gluon-esm='uci set gluon-setup-mode.@setup_mode[0].enabled=1;uci commit gluon-setup-mode;reboot'">>/etc/shinit
...irgendwie funktioniert das nicht...
Prompt in Farbe
- echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >.profile
- magenta/gelb
- echo "PS1='\[\033[38;5;199;1m\]\h \[\033[38;5;227;1m\]\$PWD\[\033[0m\] \[\033[38;5;199;1m\]\$\[\033[0m\] '" >/tmp/ffprofile
- scp .profile ffrouterhostname:.profile
- for COLOR in $(seq 1 254); do echo -e "\033[38;5;${COLOR}m${COLOR}\033[0m"; done;
- for COLOR in $(seq 1 254); do echo -e -n " \033[38;5;${COLOR}m${COLOR}\033[0m"; done;
- PS1='\[\033[38;5;170;1m\]\h \[\033[38;5;185;1m\]$PWD\[\033[0m\] \[\033[38;5;170;1m\]$\[\033[0m\] '
- for FF in $(seq 0 4); do scp ffprofile cpt0${FF}:.profile; done;
- echo "PS1='\[\033[31;1m\]\h \[\033[32;1m\]\$PWD\[\033[0m\] \[\033[31m\]\$\[\033[0m\] '" >/root/.profile
- hellrot / grün
- https://en.wikipedia.org/wiki/ANSI_escape_code#graphics
Alias(e)
Ein Alias oder mehrere Aliase können für komplizierte wiederkehrende Befehle eingetragen werden.
Zum Beispiel: "ll" statt "ls- l" --oder-- beim aufruf von "ls" immer coloriert darstellen (--color=auto)
Der Eintrag "alias ll='ls -l'" erzeugt das. (Der ist in der 'v2022.1.1-6-gccd7fa3+ / ca486f1' schon eingetragen)
Gespeichert werden die Aliase in
- Bash in ~/.bashrc
- Z-Shell in ~/.zshrc
und im Freifunk-Router (2022)
- -ash in /etc/shinit
Dort könnt ihr dann auch weitere Abkürzungen vornehmen!
Videos von Martin Leyrer
- Martin Leyrer, "Fortgeschrittene IT-Magie" https://martin.leyrer.priv.at
Martin Leyrer hält leidenschaftlich und gute Vorträge für Einsteiger auf verschiedenen Veranstaltungen. Ich habe einpaar hier mal verlinkt die man unter Linux, mit ssh gebrauchen kann.
Besser leben mit SSH
~/.ssh/config
- https://www.youtube.com/watch?v=qvdlLTyUJ5I #GPN20
- Für Einsteiger hat Leyrer einen Vortrag in der #GPN20 (Gulasch Programmier-Nacht) über SSH und die passende Konfigurationsdatei .ssh/config einen Vortrag gehalten. Auch für Windows/Putty hat er einen kleinen Abstecher gemacht.
Moderne Linux Kommandozeilenwerkzeuge
#GPN20 Edition "Allein zu Haus"
2019
2018
Kommandos: dig, tracepath, mtr, oping, iprout2, tmux, zsh, ranger, HTTPie, aria2c, jq, icdiff, colordiff, ripgrep, fd, z, exa, fzf, pv, progress