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.