Я пытаюсь создать сценарий, в котором мне не требуется отправлять пароль для ssh на машину ubuntu с Mac. Это процедура, которой я следовал:
1 - Откройте терминал на своем Mac и оставайтесь в системе как вы, а не как root.
2 - ssh-keygen
(при запросе пароля оставьте поле пустым, цель этого для rsync - иметь возможность ssh без запроса пароля)
3 - cat ~/.ssh/id_rsa.pub
В результате будет создан ключ SSH, который теперь будет находиться в вашей домашней папке. Теперь вам нужно добавить открытый ключ в виртуальную машину ubuntu.
1 - Войдите как root в виртуальную машину
2 - mkdir /home/john/.ssh/
3 - nano /home/john/.ssh/authorized_keys
скопируйте ключ, сгенерированный на вашем Mac, в ida_rsa.pub и вставьте в этот файл
4 - chown –R john /home/john/.ssh/
5 - chmod 600 /home/john
В результате у меня есть ключи в обоих домашних каталогах. Но когда я ssh john@local.mysite.com
меня все еще просят ввести слово ..
Любые идеи?
Есть ли конфигурация, которая должна быть настроена в ssh на машине ubuntu, чтобы такое поведение происходило?
Вот в чем проблема:
chmod 600 /home/john
Вы делаете свой домашний каталог неисполняемым, а это означает, что любой процесс, принадлежащий вам, не может войти в каталог, чтобы прочитать его содержимое, включая ваши ключи ssh.
Вы хотите chmod 700 /home/john
вместо. Также chmod 700 /home/john/.ssh; chmod 600 /home/john/.ssh/*