26

Odp: SSHFS - jak to ugryźć?

Co wyświetla klient podczas próby połączenia?

I czy robisz to z lanu czy faktycznie z innej sieci zza wanu?

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

27

Odp: SSHFS - jak to ugryźć?

Klient zwyczajnie nic nie wyświetla. Zarówno z nettboka z Debianem jak i ze smartfona z Sailfishem na pokładzie. Netbook i smartfon montuje router w LANie bez problemu. Jednak gdy montuję go poprzez inną sieć, z WANu, to podczas montowania nawet nie pyta o hasło.

28

Odp: SSHFS - jak to ugryźć?

r43k3n napisał/a:

ZROBIŁEM!

Postaram się poniżej opisać w czym był problem i jak poprawnie stworzyć połączenie SSHFS pomiędzy dwoma urządzeniami OpenWRT/LEDE.

1. Na urządzeniu, z którego ma być udostępniany zasób instalujemy paczkę openssh-sftp-server

opkg update
opkg install openssh-sftp-server

Resztę poleceń wykonujemy na urządzeniu, na którym ma zostać zamontowany zasób.

2. Tworzymy folder, pod którym podmontujemy zdalny zasób. Polecam unikać polskich znaków.

mkdir /mnt/zasob1

3. Na ten moment możemy się logować do zasobu poniższą komendą, pod warunkiem, że nie zamierzamy używać pliku-klucza. Wymagane będzie podanie hasła dla użytkownika root.

sshfs -o allow_other root@192.168.X.X:/ścieżka_do_zdalnego_zasobu/ /mnt/zasob1

4. Spory problem pojawia się, gdy chcemy użyć klucza-ssh do logowania, tak by nie podawać każdorazowo hasła podczas połączenia. Jest to przydatne, gdy chcemy podmontować zdalny zasób przy starcie routera.

a) Dropbear jest mocno okrojony i nie akceptuję kluczy w PEM generowanych przez ssh-keygen np: w Ubuntu. Konieczne jest wygenerowanie klucza używając dropbearkey. Wygenerowanie klucza może zając dłuższą chwilę.

dropbearkey -f id_rsa_dropbear -t rsa -s 4096

Wyciągnąć klucz publiczny możemy poleceniem

dropbearkey -y -f id_rsa_dropbear

Więcej na ten temat tutaj: https://techoverflow.net/blog/2015/12/1 … n-openwrt/

b) Domyślną nazwą pliku, którego szuka dropbear jest "id_rsa_dropbear". Tak nazwany plik przenosimy do /home/.ssh/

c) Możemy próbować podmontować zasób przy użyciu klucza-ssh używając poniższej komendy. Mnie to jednak nie działało, być może ze względu na złe uprawnienia (o tym niżej). Podczas montowania dropbear wołał hasło do klucza.

sshfs -o allow_other,IdentityFile=/root/.ssh/id_rsa_dropbear root@192.168.X.X:/ścieżka_do_zdalnego_zasobu/ /mnt/zasob1

5. W moim przypadku zbawieniem okazała się paczka openssh-client

opkg update
opkg install openssh-client

Po instalacji należy zrestartować router.

6. OpenSSH nie ma problemów z kluczami i możemy używać kluczy generowanych pod np: Ubuntu itp. Umieszczamy klucz o dowolnej nazwie w folderze /home/.ssh/ i nadajemy mu odpowiednie uprawnienia.

Ważne!
Folder .ssh powinien mieć uprawnienia 700, plik publiczny 644 a plik prywatny 600. Jeżeli te uprawnienia się nie zgadzają to pliku-ssh nie zostanie wczytany i OpenSSH poprosi o hasło do użytkownika root. Złe uprawnienia nie powodują wyświetlenia żadnego błędu, wczytanie pliku wykrzacza się po cichu. Ja do tego doszedłem używając komendy ssh 192.168.X.X -i /ścieżka_do_pliku/. Dopiero tutaj wyświetlił się błąd z uprawnieniami.

7. Gdy mamy już uprawnienia odpowiednio skonfigurowane możemy użyć komendy:

sshfs -o allow_other,IdentityFile=/root/.ssh/id_rsa root@192.168.X.X:/ścieżka_do_zdalnego_zasobu/ /mnt/zasob1

Gotowe. Komuś może się to wszystko wydawać trywialne ale mnie to napsuło naprawdę sporo krwi. Mam nadzieję, że kolejnej osobie, która tu zaglądnie się to przyda.

Cześć
Zrobiłem tak jak Ty, ale u mnie mimo to muszę podać hasło. Czy podczas generowania certyfikatu muszę podawać jakieś hasło?

29

Odp: SSHFS - jak to ugryźć?

Jeżeli generujesz certyfikat to nie podawaj hasła, nie będzie się o niego później pytał.

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