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 - остальные будут безжалостно удаляться
комментарии: