Šioje trumpoje pamokoje aprašysime instrukcijas, kaip galima supaprastinti failų perkėlimą tarp serverių naudojant Rsync su viešu SSH raktu.
Rsync - įrankis leidžiantis atlikti failų perkėlimą, sinchronizavimą tarp serverių.
1. Serveryje iš kurio planuojamas failų perkėlimas sugeneruojame viešą raktą be slaptažodžio:
ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub
Rezultatas:
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAoDJN1oHcQT0CZxdj4zm8A4Q6cmIhFWswGrl1tvo+AumDeZgKRFuh9R4hFlvu7Il4PQTlpR0OWGr1dFcxHsHXGaySRtGqfsdI5vBh1HbFZcc2nzi++v6IHaCW6QdDvs3h2P5FIOewRjehvN5b8HvBY9JZkDbp+UgjVI+wZANZCrgTBhVTUUNt9uIkidpAtFFl899S1rP3cHuU05V0ts9cyol+LZLVUtNysxVn8a8EILIdt5AoKuYPQqML3adUecoN4r06OLH4O3bm4qAlUN3in8RMCXK1EJXs4AC3kC+EBPnUSLo7ig6lbjpgGc8Eogor8gLgTSotuxHcKiZVY0WlwQ== root@serveris
2. Šį sugeneruotą kodą nukopijuojame serveryje į kurį planuojamas failų perkėlimas " ~/.ssh/authorized_keys" failą.
Jeigu ".ssh" katalogas serveryje į kurį planuojamas failų perkėlimas neegzistuoja, jį sukuriame:
mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys
Rezultatas: Viešasis raktas buvo sugeneruotas ir patalpintas antrajame serveryje. Todėl dabar galime paprastai vykdyti failų perkėlimą/sinchronizavimą tarp serverių.
Perkėlimo pavyzdys:
Šiame pavyzdyje perkėlimas bus atliekamas iš serverio IP adreso (1.1.1.1) į serverį IP adresu (2.2.2.2).
Prisijungiame prie (1.1.1.1) serverio, bei įvykdome komandą siekiant perkelti "/root/testinis_failas.txt" į serverį (2.2.2.2):
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/testinis_failas.txt 2.2.2.2:/root/
Jeigu yra naudojamas kitas vartotojas nei "root", svarbu įsitikinti, jog sugeneruotas raktas būtų patalpintas būtent reikalingo vartotojo "~/.ssh/authorized_keys" faile. Naudojant kitą vartotoją komandos sintaksė būtų ši:
rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/testinis_failas.txt [email protected]:/
