Допустим вы пользователь «A» на хосте hostA, и хотите подключиться по ssh к хосту hostB как пользователь «B» без ввода его пароля на хосте hostB. Следуйте этой инструкции для включения ssh хода без ввода пароля.
В первую очередь, вам нужно залогиниться как пользователь «A» на хосте hostA.
Создайте открытый/закрытый rsa ключи используя ssh-keygen. Сгенерированная пара ключей будет помещена в каталог ~/.ssh.
$ ssh-keygen -t rsa
Затем создайте директорию ~/.ssh на аккаунте B на хосте hostB запустив следующую команду. Этот шаг может быть опущен, если .ssh директория уже есть на B@hostB.
$ ssh B@hostB mkdir .ssh
Наконец скопируйте публичный ключ пользователя «A» на хост hostA в B@hostB для включения безпарольного ssh.
$ cat .ssh/id_rsa.pub | ssh B@hostB 'cat >> .ssh/authorized_keys'
С этого места вам больше не нужно печатать пароль в ssh в B@hostB из A@hostA.
Решение проблем
1. Если у вас всё ещё спрашивается SSH пароль, даже после включения аутентификации по ключам. В этом случае проверьте системные логи (например, /var/log/secure) чтобы увидеть, нет ли там чего-нибудь вроде следующего.
Authentication refused: bad ownership or modes for file /home/aliceB/.ssh/authorized_keys
В этом случае аутентификации по ключам не удаётся из-за того факта, что разрешения или права на файл ~/.ssh/authorized_keys некорректны. Обычно эта ошибка может случиться если ~/.ssh/authorized_keys доступен для чтения всем, кроме самого себя. Чтобы решить эту проблему, измените разрешения файла как показано ниже.
$ chmod 700 ~/.ssh/authorized_keys