Scp ne kérjen jelszót

A RoolWikiBÓL

Tartalomjegyzék

[szerkesztés] A feladat

PostgreSQL adatbázis szerver archiválási képességeit szeretnénk kihasználni úgy, hogy a szerver a wal log fájlokat a helyi gépről rögtön egy másik, távoli gépre másolja. (Ez azért fontos, hogy a lehető leghamarabb biztonságban legyenek a mentések egy esetleges hardverhiba esetén.) A biztonságos komunikáció érdekében az ssh nyújtotta titkosítást szeretnénk alkalmazni, amit az scp paranccsal teszünk. Az spc a másolás előtt jeszót kér. Ezt szeretnénk elkerülni, ezért generálni kell egy publikus/privát kulcspárt a helyi (kliens) gépen (ami az éles adatbázis szerverünk) postgres felhasználóként, és a publikus felét a távoli (backup szerver) gépre kell másolni egy a postgres tulajdonában lévő mappába.

[szerkesztés] Kulcspár elkészítése.

éles_szerver> ssh-keygen -t dsa -f ~/.ssh/id_dsa
  • t megadja a titkosítás módját
  • f megadja hová kerüljenek a kulcsok. Jelen esetben a parancsot kiadó felhasználó, azaz a postgres .ssh mappájába kerülnek.

Az ssh-keygen jelszót fog kérni. Hagyjuk üresen egy enter leütésével. Most a .ssh mappánkban találunk 2 fájlt: id_dsa és id_dsa.pub. Ez utóbbi a publikus rész.


[szerkesztés] A publikus részt másoljuk a szerverre.

éles_szerver> cd ~/.ssh
éles_szerver> scp id_dsa.pub postgres@backup_szerver:~/.ssh/id_dsa.pub

Természetesen most be kell írni a jelszót. Ezzel a másolás megtörtént. (Elképzelhető, hogy a távoli gépen először létre kell hozni a .ssh mappát. Ezt megtehetjük ha ssh-val belépünk.)


[szerkesztés] Adjuk az ssh démon tudtára, hogy használni kívánjuk a kulcsunkat.

Lépjünk be a szerverre, ott pedig a .ssh mappába.

éles_szerver> ssh postgres@backup_szerver
backup_szerver> cd .ssh

Adjuk a kliens publikus kulcsát az ismert kulcsokhoz:

backup_szerver> cat id_dsa.pub >> authorized_keys2
backup_szerver> chmod 640 authorized_keys2
backup_szerver> rm id_dsa.pub
backup_szerver> exit

Kész. Ha most ismét kiadjuk az előbbi scp parancsot, akkor nem fog jelszót kérni.

Személyes eszközök