1 (edytowany przez wojtula 2014-10-10 20:44:47)

Temat: authorized_keys - pytanie

Witam,
mam problem z kluczami przez ssh (dropbear). Za każdym razem otrzymuje komunikat "Server refused our key".
Postępowałem zgodnie z poradnikiem. Wątpie żebym się pomylił, gdyż czynność tę powtarzałem kilka razy.
Na innych routerach z openwrt działa w obecnym przypadku niestety nie dlatego postanowiłem opisać to na forum.
Bardzo proszę o pomoc w moim przypadku.

Żeby nie było pytań:
1. Wygenerowałem przez puttygen.exe 2 klucze prywatny i publiczny (długość 2048, metoda ssh-2 RSA). Bez hasła.
2. Klucz publiczny poprzez notepad++ sprowadziłem do jednej linii, usuwając tymsamym linie begin, comment i ostatnią end.
Wygląda to mniej więcej tak: ssh-rsa AAAAB3Nz ....  GA8B3BdG/QYoZFw==
3. Skopiowałem linię poprzez winscp do pliku /etc/dropbear/authorized_keys
4. Skorygowałem uprawnienia pliku i folderu (0600 i 0700).
5. Zrestartowałem dropbear oraz następnie router.
6. Ustanowiłem w putty nowe połączenie o nazwie router, gdzie zdefiniowałem port, ip oraz podałem ścieżke do klucza prywatnego.

Niestety powyże czynności nie przynoszą zamierzonego skutku...


Info o moim sprzęcie:
Gargoyle PL 1.6.2.1 (b70bfc1)                                |
| OpenWrt Attitude Adjustment 12.09.1 (r42171)                 |
| Build time: 2014-08-27 20:18 CEST       
Machine: TP-Link TL-WDR4300 v1                               |
| Uptime: 0d, 00:02:31                                         |
| Load: 1.27 0.60 0.23                                         |
| Flash: total: 246.9MB, free: 194.8MB, used: 17%              |
| Memory: total: 123.7MB, free: 100.0MB, used: 19%

p.s. korzystałem z metody np.:
http://eko.one.pl/forum/viewtopic.php?id=2988
http://wiki.openwrt.org/doku.php?id=old … ationhowto

2

Odp: authorized_keys - pytanie

A w puttygen nie masz "Public key for pasting to openssh authorized_key"? To robi dobry format i nic nie musisz zmieniać.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: authorized_keys - pytanie

skopiowałem, tak jak poleciłeś - niestety znów prosi mnie o hasło.

4

Odp: authorized_keys - pytanie

Umieść ten klucz w /root/.ssh/authorized_keys

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: authorized_keys - pytanie

Rozumiem, że masz tylko 1 usera na openwrt o nazwie root. Jeśli tak to ja robię tak

1. Loguje się na konsole do openwrt
2. ssh-keygen z parametrami - domyślnie utworzy Ci pliki w ~/.shh/   id_rsa oraz id_rsa.pub (jesli kluczę RSA)
3.  Nie rób przez echo bo ja się naciołem, idziesz do ~/.shh  i wykonujesz   # cat id_rsa.pub >/etc/dropbear/authorized_keys
4. Dla pewności możesz nadać chmodem 0600 dla nowego pliku
5. kopiuje klucz prywatny do /www/klucz_prywant i daje prawa chmaodem 666
6. Z przeglądarki daje IP_ROUTER/klucz_prywatny
7. Puttygen - otwierasz klucz i zapiszujesz jako prywatny (z roszerzeniem ppk)
8. Ustawisz w putty i działa.



PS. To ja tez mam pytanie - jak ustawic dropbeara na jedym interfejsie, ale na dwóch portach, aby nasłuchoiwał?

6 (edytowany przez wojtula 2014-10-10 20:58:21)

Odp: authorized_keys - pytanie

Utworzyłem zatem:
1. w /root/
nowy folder .ssh
2. w /root/.ssh/         
plik authorized_keys

całość wygląda tak: /root/.ssh/authorized_keys

Skorygowałem uprawnienia 0700 na folder i 0600 na plik.
Na koniec: pięknie dziękuję za pomoc - oczywiście wszystko śmiga. Pozdrawiam! smile

<<Using username "root".
Authenticating with public key "rsa-key-20141010">>

P.S. Nasunęło mnie jeszcze jedno pytanie - jak mogę zrobić na podstawie klucz public, drugi klucz private dla innego komputera (inny MAC)?

7 (edytowany przez oneiro 2014-10-10 21:00:25)

Odp: authorized_keys - pytanie

Zrób to samo, i w openwrt zamiast "  > " daj " >>"  czyli dodaj (nie nadpisz) kolejny klucz do authorized_keys

8

Odp: authorized_keys - pytanie

oneiro napisał/a:

Zrób to samo, i w openwrt zamiast "  > " daj " >>"  czyli dodaj (nie nadpisz) kolejny klucz do authorized_keys


mam zatem dodać kolejną linię z kluczem publicznym do authorized_keys?

9

Odp: authorized_keys - pytanie

tak, bo rozumiem, ze chcesz mieć nowy/inny klucz dla 2-go komputera

10

Odp: authorized_keys - pytanie

niekoniecznie nowy klucz.
Ogólnie prócz dostępu z domu chcę również dostać się do mojego routera za pomocą ssh zdalnie z firmy a zatem z innego komputera i całkiem innej sieci.

11 (edytowany przez oneiro 2014-10-10 21:15:57)

Odp: authorized_keys - pytanie

czyli za pomocą tego samego klucza.  To musisz najzwyczajniej rozpowszechnić prywatny klucz na tych maszynach (ten sam plik, z którego korzysta putty), nic więcej.

PS. Jesli z innej sieci niż LAN to musisz otworzyć porty, prawdopodobnie masz zamknięte oraz ustawić dropbeara aby nasłuchiwał na interfejsie wan-owiskim.

12

Odp: authorized_keys - pytanie

oneiro napisał/a:

czyli za pomocą tego samego klucza.  To musisz najzwyczajniej rozpowszechnić prywatny klucz na tych maszynach (ten sam plik, z którego korzysta putty), nic więcej.

PS. Jesli z innej sieci niż LAN to musisz otworzyć porty, prawdopodobnie masz zamknięte oraz ustawić dropbeara aby nasłuchiwał na interfejsie wan-owiskim.


aha, myślałem że klucz prywatny jest dedykowany na maszynę (adres MAC lub coś innego).
Rozumiem, że zatem ten klucz będzie działał na różnych komputerach, w różnych sieciach?

13 (edytowany przez oneiro 2014-10-10 21:32:37)

Odp: authorized_keys - pytanie

tak, dlatego nazywa się prywatny, aby z nikim się nie dzielić smile


Ja tymczasem mam otwarte pytanie (jak nie znajdziesz odp. tu to założę nowy wątek):

To ja tez mam pytanie - jak ustawic dropbeara na jedym interfejsie, ale na dwóch portach, aby nasłuchiwał?

14

Odp: authorized_keys - pytanie

W konfigu zrób dwie sekcje to wystartuje dwa razy. Lub przerób sobie skrypty żeby słuchał na 2 portach. Na forum openwrt było o tym dawno.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15 (edytowany przez oneiro 2014-10-10 22:04:58)

Odp: authorized_keys - pytanie

cat /etc/config/dropbear

config dropbear
        option PasswordAuth 'on'
        option Port '22'
        option GatewayPorts 'on'
        option Interface 'lan'

config dropbear
        option Interface 'wan'
        option GatewayPorts 'on'
        option Port '33'
        option PasswordAuth 'off'
        option RootLogin '1'

config dropbear
        option Interface 'wan'
        option GatewayPorts 'on'
        option Port '443'
        option PasswordAuth 'off'
        option RootLogin '1'

Lan działa, dla WAN działa tylko pierwsza opcja (port 33, port 443 nie sad).

16

Odp: authorized_keys - pytanie

A czasami nie masz www na 443?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: authorized_keys - pytanie

Dokładnie jak mówisz - uhttpd, dzięki za pomoc.

Także teraz zabawa w httpd, aby na wanowskim porcie nie działał - da się ustawić tak na szybko (zacząłem szukać sposobu), proszę o odp. tak/nie?

18

Odp: authorized_keys - pytanie

tak, w /etc/config/uhttpd

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

19

Odp: authorized_keys - pytanie

Z czystej ciekaości, dlaczego we wspomnianym pliku domyślnie ustawione są niemcy, a nie PL?

config cert 'px5g'
        option days '730'
        option bits '1024'
        option country 'DE'
        option state 'Berlin'
        option location 'Berlin'
        option commonname 'OpenWrt'

20

Odp: authorized_keys - pytanie

Bo twórcy openwrt pochodzą m.in z niemiec. Obejrzyj sobie certyfikat generowany dla www to zobaczysz gdzie to idzie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

21

Odp: authorized_keys - pytanie

To jest ciekawe, co mówisz, możesz to rozwinąć?

PS. Dzięki za dropbeara, chodzi mi już na 443 oraz 33 porcie smile

22

Odp: authorized_keys - pytanie

W sensie? Te dane są przekazywane jako parametry do certyfikatu. Wejdź na https. kliknij w przeglądarce na szczegóły certyfikatu i zobaczysz gdzie ten berlin jest.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

23 (edytowany przez wojtula 2014-10-13 17:57:22)

Odp: authorized_keys - pytanie

Mam jeszcze jedno pytanie.
Mianowicie:

udostępniłem ten klucz prywatny na swój drugi komputer w pracy. Tam ustawiłem połączenie w putty ale niestety nie zakończyło się to sukcesem.


W logach putty było:
"looking up host xxx.xxx.xxx.xxx"
"connecting to xxx.xxx.xxx.xxx"

w cmd wyfiltrowałem sobie netstat i połączenie było w statusie established.
Po stronie routera w tej samej chwili również.

Po stronie routera widzę w logach widnieje pełno takich wpisów:
Oct 13 15:32:20 dropbear[5831]: Child connection from xxxx.xxx.xxx.xxx:39366
Oct 13 15:32:20 dropbear[5831]: Child connection from xxxx.xxx.xxx.xxx:15189
Oct 13 15:32:20 dropbear[5831]: Child connection from xxxx.xxx.xxx.xxx:17786
Oct 13 15:32:20 dropbear[5831]: Child connection from xxxx.xxx.xxx.xxx:22889



Całość miała działać ten sposób:
praca -> tunel lokalny port 9999 -> port443 -> ssh dropbear (port 443) router -> internet
(port 443 otwarty na świat)
Taki prosty proxy z pracy. Duża korporacja, która wycięła nam dostęp np do dropbox, google docs etc.

Co zatem może być źle, że ostatecznie nie połączyłem się z pracy przez ssh do routera (statyczne, zewnetrzne ip) w domu?

24

Odp: authorized_keys - pytanie

Ponoć niektóre corpo-proxy potrafią rozpoznać czy po 443 idzie faktycznie https czy ssh i wtedy tną połączenie.

25

Odp: authorized_keys - pytanie

To ciekawe, co mówisz - nie wiedziałem. Czyli zmiana portu ssh z 443 na 80 też nic nie da, bo zostanie również "rozpoznana"?
Myślałem, że port 443 nie są monitorowane, tylko normalnie przepuszczone...