Подключаемся к SSH по ключу из скрипта.

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

Заходим под пользователем от которого будет выполняться скрипт с доступом к ssh на сервере:

# su wwwtemp

Генерируем ключ для удаленного доступа. На запросы пароля просто нажимаем Enter если не хотим вводить его при подключении:

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

Для генерации ключа в программе Putty можно сделать так:

$ puttygen -t rsa -b 4096 -o sample

Содержимое файла

# cat /var/www/aido/.ssh/id_rsa.pub

надо будет скопировать в файл домашней папки на удаленном сервере.

На удаленном сервере создаем пользователя под котором будет осуществляться вход по SSH:

# useradd -m remote

Вставляем в файл удаленного сервера

/home/remote/.ssh/authorized_keys

строки из файла

/var/www/aido/.ssh/id_rsa.pub

На удаленном сервер проверяем настройки SSH:

# cat /etc/ssh/ssh_config | grep Auth
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys

Проверяем SSH подключения по ключу без пароля:

# ssh 192.168.1.1 pwd
/home/remote

В данном случае — все работает.