Как включить ssh вход без ввода пароля

Допустим вы пользователь «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

Оставьте комментарий