Archiwum → WL-500gP – tworzenie użytkownika i dostępu SSH
Jedną z pierwszych rzeczy, które z reguły robimy po instalacji jest tworzenie użytkowników w systemie. Podobnie i w przypadku routera z Oleg’s firmware.
Zanim zdefiniujemy nowego użytkownika musimy zrobić dwie rzeczy;
(1) Tworzymy katalog domowy użytkownika. Wykorzystamy w tym celu komendę mkdir. Oczywiście katalog tworzymy na nośniku USB, który jest podpięty do katalogu „opt”. W swoim systemie utworzyłem następujące katalogi:
mkdir /opt/home
mkdir /opt/home/rafal
Wszystkie ustawienia specyficzne dla użytkownika ‘rafal’ zapisuję w katalogu ‘/opt/home/rafal’.
(2) Musimy zainstalować paczkę ‘adduser’, czyli wykonujemy komendę:
ipkg-opt install adduser
Kiedy mamy już stworzony katalog i zainstalowaną paczkę ułatwiającą tworzenie użytkowników, wówczas proces tworzenia pierwszego użytkownika odbywa się dwoma komendami (przykład dla mojego użytkownika):
[admin@myrouter /opt]$ addgroup users
[admin@myrouter /opt]$ adduser rafal -h /opt/home/rafal -G users
adduser: /opt/home/rafal: File exists
Changing password for rafal
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
Enter new password:
Re-enter new password:
Password changed.
Komendy są dwie, bo najpierw utworzyłem grupę ‘users’ (nie było to konieczne).
Możemy teraz zweryfikować zawartość pliku /etc/passwd i /etc/group wykonując komendy:
cat /etc/passwd
cat /etc/group
Aby zmiany były zapisane na trwałe musimy najpierw umieścić oba pliki w katalogu /usr/local wykonując:
echo „/etc/passwd” >>/usr/local/.files
echo „/etc/group” >>/usr/local/.files
Dopiero po wykonaniu tych komend możemy zapisać zmiany komendą „flashfs save”. Jej wynik musi zawierać oba pliki (widać to poniżej).
[admin@myrouter root]$ flashfs save
tar: Removing leading ‘/’ from member names
etc/group
etc/passwd
tmp/local/
tmp/local/.files
tmp/local/sbin/
tmp/local/sbin/post-mount
tmp/local/root/
-rw-r–r– 1 admin root 501 Mar 26 20:52 /tmp/flash.tar.gz
Check saved image and type „/sbin/flashfs commit” to commit changes
Dopiero jak sprawdzimy, że /etc/group i /etc/passwd są na liście możemy wykonać komendę:
flashfs commit && flashfs enable
I po jej wykonaniu zrestartować router, aby sprawdzić czy faktycznie użytkownik i grupa są zapisane na trwałe.
Skonfigurowanie dostępu poprzez SSH
Pracując z routerem możemy korzystać z telnetu, ale osobiście wolę połączenie SSH. Opisałem ten temat już jakiś czas temu, więc nie będę się powtarzał. Skoncentruję się na przedstawieniu dodatkowych szczegołów połączenia z routerem z Linuksa (osoby korzystające z Windows mogą skorzystać z Putty).
Skorzystamy z OpenSSH, więc instalujemy paczkę komendą:
ipkg-opt install openssh
Plik konfiguracyjny sshd.config znajdziemy w katalogu /opt/etc/openssh. Musimy go dostosować do naszych potrzeb (podobnie jak już wcześniej to opisałem).
Po skonfigurowaniu logujemy się jako użytkownik z którego będziemy korzystać przy połączeniach SSH i generujemy klucze komendą:
ssh-keygen –t rsa
Klucz przenosimy do komputera z którego się będziemy łączyć. Na tym komputerze (przykład dla Linuksa!) umieszczamy klucz w katalogu ‘/home/<USER>/.ssh‘ .
Będąc zalogowany na routerze musimy najpierw uruchomić demona SSH komendą:
/opt/sbin/sshd
I po jego starcie, możemy z naszego komputera w terminalu wykonać połączenie komendą typu:
ssh rafal@192.168.1.1
W tym przykładzie jest to połączenie lokalne (w sieci domowej, co widać po IP) na użytkownika ‘rafal’.
Jak widać konfiguracja openSSH nie różni się tu niczym od konfiguracji na dystrybucjach wykorzystywanych na normalnych komputerach. Start demona można zrobić automatyczny.
Tags: router
Lipiec 30th, 2009 at 21:27
jakby ktoś chciał aby SSH ładowane było automatycznie podczas startu, to wystarczy wyedytować plik /usr/local/sbin/post-mount dodając linię /opt/sbin/sshd i zapisując zmiany poprzez:
flashfs save && flashfs commit && flashfs enable