Я создал частную/с открытым ключом пару с помощью ssh-keygen. Я установил общественность, как описано в https://help.ubuntu.com/community/SSH/OpenSSH/Keys
И это работает без пароля, как ожидалось - но только при входе корня. При входе в систему непосредственно, поскольку корень является, очевидно, плохой идеей.
Но вопрос, как та пара ключей связана или ограничена данным идентификатором пользователя? Я не ожидал бы, что пользователь сможет войти в ЛЮБУЮ учетную запись в системе просто на основании установки открытого ключа на хосте...
Команда:
ssh-copy-id username@host
Столь же зарегистрированный в ссылку выше не работает от Mac Поэтому, я вошел в систему как корень и конечно, это - то, где ключ был установлен.
ответ, кажется: Если Вы входите в систему как пользователь, то cat
открытый ключ к ~/.ssh/authorized_keys
файл.
Каждый пользователь должен передать их открытый ключ .ssh каталогу в их корневом каталоге.
, Просто следуют quickfix для получения его работа для удаленной машины.
<час>(Скопированный для https://help.ubuntu.com/community/SSH/OpenSSH/Keys)
, Если у Вас есть зашифрованный корневой каталог, SSH не может получить доступ к Вашему authorized_keys файлу, потому что это в Вашем зашифрованном корневом каталоге и не будет доступно, пока Вы не аутентифицируетесь. Поэтому SSH примет значение по умолчанию к аутентификации по паролю.
Для решения этого создайте папку возле названного дома:
/etc/ssh/<username> (replace "<username>" with your actual username).
Этот каталог должен иметь 755 полномочий и принадлежать пользователю. Переместите authorized_keys файл в него. authorized_keys файл должен иметь 644 полномочий и принадлежать пользователю.
Тогда отредактируйте свой/etc/ssh/sshd_config и добавьте:
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Наконец, перезапустите ssh с:
sudo service ssh restart
В следующий раз, когда Вы соединяетесь с SSH, Вам не придется ввести Ваш пароль.