пятница, 20 мая 2011 г.

Как автоматизировать копирование файлов через SCP без аутентификации

SCP-утилита для удаленного копирования файлов через протокол RCP. Хорошая между прочим утилита для копирования всего через командную строку, задал команду и ввел пароль и все. Но при автоматизации копирования необходимо чтобы копирование шло без аутентификации но так же по шифрованному каналу.

Для таких случаев в SSH предусмотрено метод аутентификация Identity/Pubkey, который полагает обмена ключевыми фразами для соединения хостов. Для этого на клиенте необходимо создать ключ, для этого набираем. Когда требуется вести фразу, ничего не вводите, если введете то при подключении к серверу будет спрашиваться фраза, вместо пароля, а мы ведь хотим чтобы соединение шло без аутентификации.

$> ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
....

Итак приватный, публичный ключи у нас готовы теперь необходимо чтобы наш сервер этот ключ распознавал. Для этого на сервере необходимо поменять конфигурацию
/etc/ssh/sshd_config.

$> nano /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Удостоверьтесь, что в ней есть строки выше, если комментированы уберите из комментариев, если нет то пропишите. %h означает home директория пользователя. В моем случае я под root и для меня это будет означать /root/.

Теперь как из конфигурацию видно нам необходимо добавить ключ в /root/.ssh/authorized_keys. Этого файла может и не оказаться там где нужно, вы можете ее создать если нету.

Но для начала скопируем наш файл публичный ключ в сервер.
$> scp /root/.ssh/id_rsa.pub root@serveraddress:/root/
Enter password:

Дальше на сервере содержимое id_rsa.pub копируем в authorized_keys.
$> cat /root/id_rsa.pub >> /root/.ssh/authorized_keys

Теперь для теста на клиенте наберем то же самое копирование ключа.
$> scp /root/.ssh/id_rsa.pub root@serveraddress:/root/
В этом случае копирование не должен спрашивать пароль

1 комментарий:

  1. Casino 2021: The best way to make it back into the gambling industry
    The Gambling Innovation Network (GBI), 바카라육매 which was established 라스 벳 in 2015, has worked in more than 올레 벳 60 스포츠사이트 countries across the 파라오 도메인 world. In total, the

    ОтветитьУдалить