1

Temat: Poradnik - jak logować się między routerami bez hasła (ssh, rsa)

W podziękowaniu za dostęp i życzliwość "forum eko.one.pl" postanowiłem dołożyć swoją cegiełkę.

Oczywista rzecz, ale nie znalazłem tego na forum wprost, a sprawa jest banalna więc postanowiłem napisać.

Komunikacja bez hasła między routerami wykorzystując ssh.
Przykłady zastosowań:
automatyczna kopia zapasowa danych i ustawień, szybkie logowanie na inny router gdziekolwiek w świecie, konfigurowanie kilku lub  "n" routerów jednym skryptem.

Założenia:
Przykłady wykonane na TP- WR1043ND,  Gargoyle 1.5.4, Wersja OpenWrt: 31348, ale oczywiście porada jest uniwersalna i powinna działać na każdym openwrt.

Router bazowy: bazowy, adres IP: 192.168.1.1, alias: 1 - na niego logujemy się np. lokalnie przez putty (poradnik w innym miejscu)

Router zdalny: zdalny, adres IP: 192.168.1.2, alias:  2 - na niego chcemy się logować bez hasła będąc
zalogowanym na routerze bazowym, lub na niego wykonujemy zdalne automatyczne kopie lub konfigurację.

Krok 1. edycja /etc/hosts [dla wygody i czytelności] router bazowy (dodanie aliasów 1)

127.0.0.1     localhost.
192.168.1.1    bazowy 1
192.168.1.2    zdalny 2

Krok 2. kopiowanie klucza publicznego routera bazowego do routera zdalnego

zapisanie klucza publicznego do pliku

dropbearkey  -y -f  /etc/dropbear/dropbear_rsa_host_key|grep ssh >/root/authorized_keys.na.serwer

zapisanie klucza pub na zdalnym serwerze
należy podać hasło do routera zdalnego

scp /root/authorized_keys.na.serwer 2:/root/

przekopiowanie do stosownego miejsca (i tu jest inna ścieżka do authorized_keys niż na "pełnym" linuksie" (i to mnie zmyliło i skłoniło do napisania poradnika smile)
trzeba podać hasło drugi i ostatni raz

ssh 2 'cat /root/authorized_keys.na.serwer >>/etc/dropbear/authorized_keys'

Krok 3. Test logowania

ssh -i /etc/dropbear/dropbear_rsa_host_key 2

Jeśli OK polecam utworzenie aliasu

echo "alias sshr=\"ssh -i /etc/dropbear/dropbear_rsa_host_key\"" >>/etc/profile

ewentualnie przypomnienie o aliasie podczas logowania do routera bazowego

echo "sshr nazwa_hosta/alias_hosta [logowanie kluczem rsa (bez hasła)]">>/etc/banner

teraz logowanie na komputer zdalny sprowadza się do wydania polecenia

sshr 2

Analogiczne ułatwienia dla komendy scp

echo "alias scpr=\"scp -i /etc/dropbear/dropbear_rsa_host_key\"" >>/etc/profile
echo "scpr [scp z opcją \"-i /etc/dropbear/dropbear_rsa_host_key\" ]">>/etc/banner

Mam nadzieję, że komuś się przyda.

NETGEAR WNDR4300