Содержание

Используем scp в cron

Задача:

Тех. особенности

Настраиваем аутентификацию 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

где:

Файл 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

где:

Если все верно, то пароль для подключения к серверу не будет запрошен. Что нам очень требовалось.

5. На клиенте: самое главное

Копируем все содержимое папки на удаленном сервере в папку на клиенте:

scp -P 2222 -r user@server_IP:/home/user/backup/ /backup/

где:

TAG: