Перейти к основному содержанию

SCP — копируем файл без пароля

Linux

Стандартным средством администрирования Linux является SSH.

SSH (Secure SHell) — сетевой протокол, позволяющий управлять операционной системой удалённо. Особенность протокола в том, что он шифрует все передаваемые внутри него данные. Алгоритмы шифрования можно выбирать.

Используя защищённый шифруемый канал связи можно посредством SSH передавать файлы с помощью утилиты SCP.

SCP (Secure CoPy) — утилита для копирования файлов между серверами по безопасному протоколу SSH.

Утилита в целях безопасности не имеет встроенной возможности указать в параметрах пароль пользователя, пароль приходится вводить вручную. Это мешает использованию SCP в скриптах для автоматизации передачи файлов между серверами. Админы в печали.

Возможность использования SCP в скриптах есть, для этого нужно отключить использование пароля в SSH соединениях.

Настраиваем SSH и SCP для работы без пароля

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

На сервере-источнике для генерации публичной и приватной пары ключей RSA под нужным нам пользователем выполняем команду:

ssh-keygen

scp

  • На вопрос "Enter passphrase (empty for no passphrase)" ничего не вводим, нажимаем Enter.
  • На вопрос "Enter same passphrase again" ничего не вводим, нажимаем Enter.

Не сложно, правда? Нам говорят, что приватный ключ сохранён как /root/.ssh/id_rsa. Публичный ключ — /root/.ssh/id_rsa.pub. Если ключ требуется для другого пользователя, то папку ".ssh" можно скопировать нужному пользователю и сменить права. Публичный ключ нужно скопировать на удалённый сервер в файл ~/.ssh/authorized_keys. Скопировать можно здесь же вручную по SCP.

Проверьте, есть ли на сервере-получателе файл ~/.ssh/authorized_keys, если есть, то следует выполнить команды:

scp root@freepbx:~/.ssh/authorized_keys ~/.ssh/authorized_keys_tmp
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys_tmp
scp ~/.ssh/authorized_keys_tmp root@freepbx:~/.ssh/authorized_keys

Если файла нет, то просто копируем публичный ключ:

scp ~/.ssh/id_rsa.pub root@freepbx:~/.ssh/authorized_keys

При копировании попросят ввести пароль. Здесь root — имя пользователя на сервере-получателе, а freepbx — имя сервера-получателя.

scp

При следующем входе на сервер-получатель с именем пользователя, для которого производилась настройка авторизации, пароль запрашиваться не будет.

Теги

 

Похожие материалы

Putty — SOCKS5 прокси через SSH-туннель

Однажды один из IP адресов на работе попал в SORBS SPAM. IP адрес можно выкинуть из спам листа, если зайти на сайт sorbs.net именно с этого IP адреса. Но у меня на компе другой внешний IP адрес, а на почтовике с нужным IP стоит linux и нет возможности запустить браузер. Сделаем с помощью putty SSH туннель. 

Теги

Postfix с SMTP аутентификацией Cyrus

Понадобилось сделать Postfix с SMTP аутентификацией. Раньше не настраивал, перерыл кучу статей. Очень сумбурно всё изложено, поэтому пришлось написать свой вариант. Если кто-то знает хорошую инструкцию по данному вопросу без лишней воды — пишите в комментариях.

Теги