Site icon 8HOST.COM

Как копировать файлы при помощи Rsync через SSH

1 . Установка публичных ключей SSH

Для начала нужно сгенерировать открытые ключи SSH без пароля на первоначальном сервере:

ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub

Это открытый SSH-ключ, который можно разместить на других хостах, чтоб получить доступ:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB root@cloudads


Скопируйте данный ключ в буфер обмена и подключитесь к серверу назначения.

Поместите этот ключ в файл ~/.ssh/authorized_keys:

Если папки SSH не существует, создайте ее вручную:

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

2. Файлы Rsync

Rsync – очень полезная утилита, так как она, помимо всего прочего, позволяет пользователю рекурсивно копировать файлы по зашифрованному каналу с применением сжатия.

Скопируем файл, находящийся в /root/bigfile.txt  на первоначальном сервере (198.211.117.101), на сервер назначения (IP: 198.211.117.129) и также сохраним его в /root/bigfile.txt.

Войдите на исходный сервер и, применив утилиту rsync на указанный файл,  скопируйте его на сервер назначения:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt 198.211.117.129:/root/

Если вы работаете с другого пользователя, например, с «username», нужно добавить его перед сервером назначения. Убедитесь, что открытый ключ помещен в файле ~/.ssh/authorized_keys данного пользователя:

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /root/bigfile.txt username@198.211.117.129:/

Параметры SSH  помогут сдерживать Rsync, а также избежать Rsync-указаний  при каждом подключении к новому серверу.

Убедитесь, что файл был скопирован на целевой сервер (198.211.117.129):

ls -la /root/bigfile.txt

Готово!