doc:os:freebsd:utilities:use_scp_in_cron
Содержание
Используем scp в cron
Задача:
- клиент должен копировать с сервера бэкап-файл и делать это в автоматическом режиме
- сервер не должен запрашивать пароль у клиента при подключении и копировании данных
- должен быть обеспечен приемлемый уровень безопасности при передаче данных и аутентификации
Тех. особенности
- Используется хостинг HostGator, где SSH-демон «висит» на нестандартном порту 2222.
Настраиваем аутентификацию SSH без паролей
1. На сервере
Выполняем команды на сервере Hostgator:
server$ mkdir ~/.ssh server$ chmod 700 ~/.ssh server$ touch ~/.ssh/authorized_keys2 server$ chmod 600 ~/.ssh/authorized_keys2
2. На клиенте
Выполняем последовательность действий:
client$ mkdir ~/.ssh client$ chmod 700 ~/.ssh client$ ssh-keygen -q -f ~/.ssh/id_rsa -t rsa client$ chmod go-rwx ~/.ssh/*
Будут созданы 2 файла: id_rsa и id_rsa.pub. Наша задача: перекинуть файл id_rsa на сервер. Собственно, файл id_rsa.pub содержит открытый ключ клиента.
Выполняем:
scp -P 2222 id_rsa.pub user@server_IP:/home/user/.ssh/id_rsa.pub
где:
- scp - утилита, выполняющая копирование файла id_rsa.pub на сервер с использованием стойкой криптографии
- 2222 - порт SSH демона на сервере (по-умолчанию, это порт 22, следовательно конструкцию «-P 2222» можно опустить в случае стандартного порта)
- user - имя пользователя на сервере
- server_IP - IP адрес сервера или же его DNS-имя
Файл id_rsa.pub будет скопирован на сервер по пути: /home/user/.ssh/
3. На сервере
Если все правильно сделано, на сервере мы уже будем иметь файл id_rsa.pub. Осталось самое малость:
server$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys2 server$ chmod 600 ~/.ssh/authorized_keys2 server$ rm ~/.ssh/id_rsa.pub
4. Тест подключения на клиенте
Подключаемся по SSH к серверу:
client$ ssh -p 2222 user@server_IP
где:
- 2222 - порт SSH демона на сервере
- user - имя пользователя на сервере
- server_IP - IP адрес сервера или же его DNS-имя
Если все верно, то пароль для подключения к серверу не будет запрошен. Что нам очень требовалось.
5. На клиенте: самое главное
Копируем все содержимое папки на удаленном сервере в папку на клиенте:
scp -P 2222 -r user@server_IP:/home/user/backup/ /backup/
где:
- 2222 - порт SSH демона на сервере
- user - имя пользователя на сервере
- server_IP - IP адрес сервера или же его DNS-имя
- «/home/user/backup/» - папка на удаленном сервер, содержимое которой рекурсивно (благодаря опции -r) будет скопировано в локальную папку /backup/ на клиенте
TAG:
/var/www/wiki.itcall.ru/data/pages/doc/os/freebsd/utilities/use_scp_in_cron.txt · Последнее изменение: d.m.Y H:i — 127.0.0.1
Обсуждение
As far as that glass dropper goes, I hate them since you can never get those suckers to fill up <a href=https://fastpriligy.top/>buy priligy tablets</a>