SSH

Izvor: HrOpenWiki
Inačica od 01:48, 6. studenoga 2012. koju je unio/unijela 4ndY (razgovor | doprinosi)

Skoči na: orijentacija, traži

Trikovi

Automatska prijava SSH-om na računalo bez traženja zaporke

Ideja: s korisnikom a na računalu A želimo se prijaviti na računalo B kao korisnik b bez zaporke.

1. Generirati privatni i javni RSA ključ na računalu A s korisnikom a:
ssh-keygen -t rsa
2. kreirati direktorij .ssh na računalu B kod korisnika b
ssh b@B mkdir -p .ssh

(dobro bi bilo staviti i chmod 600 na taj direktorij)

3. kopirati novokreirani javni ključ s računala A i korisnika a na računalo B kod korisnika b u datoteku .ssh/authorized_keys:
ssh-copy-id -i ~/.ssh/id_rsa.pub b@B

To je to.

Montiranje udaljenih datotečnih sustava lokalno preko SSH-a

To je moguće uz pomoć programa sshfs.

Tuneliranje prometa kroz ssh vezu

Moguće situacije:

  • Računalo nema direktnu vezu na internet, ali se može sshom spojiti na drugo računalo u mreži koje ima pristup internetu.
  • Laptop je spojen na javnu bežićnu mrežu i time omogućuje uljezima presretanje prometa, krađu zaporki koje se šalju preko mreže i sl.
  • Neke su web stranice blokirane u zemlji u kojoj se nalazimo (npr. Kini ili Hrvatskoj), dok su iz drugih zemalja dostupne.

U svakom od ovih slučaja dobro je tunelirati promet kroz ssh vezu koja je sigurna sama po sebi. Jedini je zahtjev ovdje da imamo vanjsko računalo na koje se možemo spojiti sshom.

Primjer kako to napraviti s Firefoxom:

  • postavi se tuneliranje ssh na portu 8080 kroz računalo free.proxy (postavlja se adresa vanjskog računala na koje se spajamo sshom):
ssh -D 8080 -Nf free.proxy
-D je ovdje ključna opcija (-N služi za onemogućavanje izvršavanja naredbi na udaljenom računalu, -f stavljanje ssh-a u pozadinski način rada)
  • u Firefoxu je potrebno podesiti sljedeće:
u about:config (za tuneliranje i DNS upita):
network.proxy.socks_remote_dns = true
u postavkama Proxyja: SOCKS host: 127.0.0.1, Port: 8080, SOCKS v5 i ukloniti 127.0.0.1 iz no proxy.

Tuneliranje određenog porta s udaljenog računala na lokalno

Port 80 na udaljenom računalu je "preslikan" na port 8080 na lokalnom računalu, odnosno, ono što bi inače dobili ukucavanjem adrese mojadomena.hr u preglednik, dobivamo ukucavanjem localhost:8080:

ssh -C -L 8080:localhost:80 korisnik@mojadomena.hr

gdje mojadomena.hr može biti i IP adresa, naravno, a korisnik se ne treba navoditi ako je isti na oba računala.

Tuneliranje X-a kroz ssh

Ukoliko su računala međusobno povezana relativno brzom vezom (preferirano WLAN, LAN, ispod 5Mbit je vrlo sporo iscrtavanje prozora), moguće je slati X (GUI) aplikacije kroz ssh vezu.

Postupak je sljedeći - kod klasičnog spajanja dodaje se još opcija -X, tako da cijela naredba izgleda:

ssh -X korisnik@racunalo

Nakon upisivanja zaporke i prijavljivanja na udaljeno računalo dovoljno je upisati ime aplikacije koja se želi pokrenuti, npr. firefox.

Održavanje konekcije i nakon prekida veze - autossh

Vidi autossh.