Допустим вы пользователь «A» на хосте hostA, и хотите подключиться по ssh к хосту hostB как пользователь «B» без ввода его пароля на хосте hostB. Следуйте этой инструкции для включения ssh хода без ввода пароля.
В первую очередь, вам нужно залогиниться как пользователь «A» на хосте hostA.
Создайте открытый/закрытый rsa ключи используя ssh-keygen. Сгенерированная пара ключей будет помещена в каталог ~/.ssh.
$ ssh-keygen -t rsa
Затем создайте директорию ~/.ssh на аккаунте B на хосте hostB запустив следующую команду. Этот шаг может быть опущен, если .ssh директория уже есть на [email protected]
$ ssh [email protected] mkdir .ssh
Наконец скопируйте публичный ключ пользователя «A» на хост hostA в [email protected] для включения безпарольного ssh.
$ cat .ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys'
С этого места вам больше не нужно печатать пароль в ssh в [email protected] из [email protected]
Решение проблем
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