2010-03-18

SSH без пароля

Краткая инструкция как настроить доверительные отношение между двумя машинами по ssh. Мне она нравится тем что все команды выполнятся на одной машине.

Даны два компьютера server1 и server2, пользователей будут звать user1 и user2 соответственно.

Зaходим на server1

ssh-keygen -t rsa

выбираем имя файла по умолчанию - просто жмем enter
парольная фраза должна быть пустой если вы вы не хотите чтобы вместо пароля сервера спрашивалась парольная фраза ключа

создаем папочку .ssh на удаленной машине

ssh user2@server2 mkdir -p .ssh

добавляем ключ в конец файла

cat ~/.ssh/id_rsa.pub | ssh user2@server2 'cat >> .ssh/authorized_keys'

пробуем соединиться по ssh - если все сделано правильно - пароль при этом не должен спрашиваться.

Следует учесть что папка .ssh должна иметь права доступа 700 а файл с ключами 640 если это не так - нужно поправить
на моей системе файл с ключами называется authorized_keys2 в то время как обычно он называется authorized_keys

Когда пробовал выполять команды ssh получил stdin: is not a tty — проблема разрешилась удалением .bashrc из пользовательской папки.

Upd: как оказалось позже совсем удалять .bashrs не обязательно - теряются многие полезные настройки, достаточно закоментировать несколько строчек:

# Source global definitions
#if [ -f /etc/bashrc ]; then
#       . /etc/bashrc
#fi
 
 

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

 

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

Имя*

разрешены только теги br, font, span, p, strong, u, p, blockquote, a, div, img - остальные будут безжалостно удаляться