Соединение по ssh без ввода пароля.

В предыдущей статье «Настройка SSH соединения» я рассказал как подключаться, используя ssh. Теперь я расскажу как это делать без пароля.

Открываем консоль в Ubuntu вводим команду для генерации публичного ключа:
ssh-keygen
Ключик сгенерируется.
Затем копируем наш ключик на сервер (вместо 192.168.0.101 вписываете ip компьютера, к которому подключаетесь):
scp ~/.ssh/id_rsa.pub root@192.168.0.101:.
Команда scp копирует файл по соединению ssh.

Когда файл скопируется, заходим на наш сервер, создаем каталог:
mkdir ~/.ssh
Затем копируем публичный ключ в файл authorized_keys:

cat id_rsa.pub >> .ssh/authorized_keys

Перезапускаем службу для сохранения настроек:
service sshd restart

Настройка закончена. Теперь можно подключаться по ssh без ввода пароля:

skif@Toshiba:~$ ssh root@192.168.0.101
Last login: Tue Mar 5 17:25:23 2013 from 192.168.0.100
[root@centos ~]#

Примечание:

Если на сервере стоит только пакет openssh-server, то команда scp работать не будет, поэтому нужно установить следующие пакеты:
В CentOS по умолчанию нет репозитория с многими пакетами, поэтому подключим репозиторий EPEL:

CentOS 6.3 32-bit: rpm -Uvh http://mirror.yandex.ru/epel//6/i386/epel-release-6-8.noarch.rpm

CentOS 6.3 64-bit: rpm -Uvh http://mirror.yandex.ru/epel//6/x86_64/epel-release-6-8.noarch.rpm

Затем обновляем систему:
yum update
Теперь можно установить необходимые пакеты:
yum install rssh
yum install openssh-clients

После установки пакетов scp будет работать.