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

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

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *