Как использовать команду SCP в UNIX без пароля

* Данный пример приведен на разных UNIX-системах — копирование файла с FreeBSD на CentOS. Использовать его можно в различных средах.

Для безопасной передачи данных между системами UNIX нужно сгенерировать закрытый и открытый ключи на одном компьютере и передать открытый на второй. Это делается по нижеописанному алгоритму.

На первом компьютере, с которого планируется копировать данные (FreeBSD) генерируем ключи:

# ssh-keygen -t rsa

После нажатия Enter система попросит ввести параметры размещения ключа и пароль. Ничего не меняем, нажимая ввод и соглашаясь со значениями по умолчанию.

* в моем примере, генерация ключа проходила под учетной записью root и публичный ключ был создан по пути /root/.ssh/id_rsa.pub

Теперь скопируем публичный ключ на второй компьютер (CentOS):

# scp /root/.ssh/id_rsa.pub dmosk@server2:/home/dmosk/.ssh/authorized_keys

* как видно, мы копируем сгенерированный ключ на компьютер server2, подключившить под учетной записью dmosk и размещаем его в домашнюю директорию этого пользователя под новым именем authorized_keys. Каталог /home/dmosk/.ssh должен быть создан на втором компьютере заранее командой mkdir.

После ввода команды система запросит пароль для учетной записи dmosk на компьютере server2 и скопирует ключ.

Последующие команды SCP на копирование данных с первого компьютера на второй будут выполняться без запроса пароля, напрмер:

scp /tmp/backup.tar.gz dmosk@server2:/backup/

#Безопасность #Linux #UNIX #FreeBSD #CentOS
Фотография автора
Была ли полезна вам эта инструкция?

Да            Нет