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

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

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

Теги

 

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

Windows 10 — генерация DKIM ключей с помощью подсистемы Linux

Воспользуемся подсистемой Linux и сгенерируем DKIM ключи в ОС Windows 10. DomainKeys Identified Mail (DKIM) — метод e-mail аутентификации, разработанный для обнаружения подделывания сообщений, пересылаемых по email. Метод дает возможность получателю проверить, что письмо действительно было отправлено с заявленного домена.