frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Failų perkėlimas per SSH naudojant Rsync

IV_VygandasSIV_VygandasS Serverių ekspertas (-ė)
edited 2014 sausio 7 Į Kitos aplikacijos
Š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 vartotojas@2.2.2.2:/
Norėdami palikti komentarą, turite prisijungti arba registruokis.