SSH bez lozinke

svibanj 20th, 2008 No Comments

Svi znaju koliko je backup koristan i važan. Oni koji to ne znaju, saznati će čim prvi put izgube podatke, a oni koji znaju koliko je važan znaju i kolika je gnjavaža svako malo raditi backup. Zbog toga većina administratora ima skriptu koja automatski izrađuje backup jednom dnevno, jednom tjedno ili u nekom drugom periodu (u svakom slučaju, što češće to bolje). E sad, kod backupa je važno da se ne nalazi na istom mjestu gdje je računalo sa podacima koji se backupiraju jer uvijek može doći do požara ili nekog drugog problema zbog čega mogu nestati i backupirani podaci čak i ako se nalaze na drugom disku.

Zato bi bilo dobro da skripta koja radi sigurnosnu pohranu podataka odmah te podatke i iskopira na drugo računalo, a jedan od najsigurnijih načina je kopiranje preko SSH protokola. Budući da nije sigurno u skriptu upisati lozinku, bolje je izgenerirati privatni i javni ključ i preko njih vršiti autorizaciju bez lozinke. To se radi na slijedeći način.

  1. Generiramo privatni i javni ključ:
    ssh-keygen -t dsa -f /home/<korisnik>/.ssh/id_dsa

    Na upit da upišete passphrase, samo stisnite Enter.
    Ovdje -t određuje tip enkripcije, a -f određuje gdje će se nalaziti datoteke sa privatnim i javnim ključevima.

  2. Nakon toga iskopiramo javni ključ na server na koji se ubuduće želimo spajati putem SSH protokola bez lozinke.
    scp /home/<korisnik>/.ssh/id_dsa.pub <korisnik>@<udaljeni.server>:~/.ssh/id_dsa.pub

    Ovaj put morate upisati lozinku.

  3. Sada se spojite na udaljeni server (još jednom, posljednji put upišite lozinku) i dodajte javni ključ u poznate javne ključeve na serveru.
    ssh <korisnik>@<udaljeni.server>
    cd ~/.ssh
    cat id_dsa.pub >> authorized_keys2
    chmod 640 authorized_keys2
    rm id_dsa.pub
    exit
  4. Na kraju, pokušajte se ponovo spojiti na udaljeni server. Trebali biste uspjeti bez da morate upisati lozinku.