Для того, чтобы сделать авторизацию в терминале без пароля нам необходимо выполнить несколько шагов.
На машине, с которой собираемся выходить по SSH выполняем команды :
cd ~/.ssh/
ssh-keygen
На все вопросы отвечаем нажатием на Enter, если понадобится на ключ установить пароль, то вводим passphrase будут созданы два файла :
~/.ssh/id_rsa - приватный ключ, который нужно хранить у себя.
~/.ssh/id_rsa.pub - публичный ключ, его нужно будет положить на тот хост, куда будем заходить без пароля.
Меняем права на приватный ключ :
chmod 600 /home/user/.ssh/id_rsa
Теперь нам необходимо публичный ключ id_rsa.pub переименовать authorized_keys и скопировать на сервер в директорию /home/user/.ssh (если такой директории .ssh нет, то создаем и кладем туда публичный ключ)
Осталось только убедиться, что демон sshd правильно настроен. В файле /etc/ssh/sshd_config должны быть раскомментированы строчки :
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Если не раскомментированы (перед ними стоит #), то редактируем файл и перезапускаем демон sshd /etc/init.d/sshd restart
Проверяем : ssh user@ваш хост
Если всё правильно, то ssh должен пустить без пароля.
Вышеописанная авторизация было сделано как для пользователя.
Если же вы захотите сделать тоже самое для root_а то никакой разницы за исключением того, что публичный файл id_rsa.pub кладете в директорию root_a в /root/.ssh
Конечно, многие знают, что подобного рода авторизация еще не дает полностью уверенность в том, что ваш сервер в безопасности, но авторизация с ключом это удобно и безопасно.
Еще можно закрыть полностью доступ . То есть вход на сервер будет только с ключом. Это, конечно, даст больше безопасности. Для этого Вам необходимо войти у себя на сервере в директорию /etc/ssh/sshd_config и найти там строки
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
Строки должны быть раскомментированы и стоять везде должно no
Далее сохранить
и перезапустить ssh командой /etc/init.d/sshd restart или service sshd restart
Всем удачи!