Я пытался заставить ssh работать без пароля на сервере Linux. Я смотрел на множество учебных пособий, но у меня нет фундаментального понимания некоторых ключевых концепций.

У меня есть старый открытый ключ rsa, который я сгенерировал на своем клиентском сервере, который я пытаюсь использовать. Я захожу на сервер Linux и добавляю свой открытый ключ rsa в /home/user/.ssh/authorized_keys. Мне все еще предлагается ввести пароль при попытке войти в систему.

Мой вопрос заключается в том, является ли это правильный файл author_keys для добавления моего ключа. Кажется странным, что я поместил бы его в свой собственный каталог пользователя, но большинство объяснений, которые я видел при настройке ssh, говорят мне, чтобы поместить мой открытый ключ в ~/.ssh/authorized_keys .

В качестве последующего вопроса, является ли открытый ключ, который я сгенерировал много лет назад на моем клиенте, моим идентификатором для всех shh-соединений или мне нужно сгенерировать новый?

ОБНОВЛЕНИЕ Ошибки, которые регистрируются, читаются

trying public key file /home/bsayegh/.ssh/authorized_keys
Authentication refused: bad ownership or modes for file /home/bsayegh/.ssh/authorized_keys

Разрешения для файла / каталога:

-rwxrwxrwx. 1 bsayegh root     401 May 24 14:30 authorized_keys
 drwx------. 2 bsayegh root    4096 May 24 14:30 .
 drwx------. 3 bsayegh bsayegh 4096 May 25 11:38 ..

1 ответ1

2

Если у вас есть доступ к файлам журналов машины, вы хотите просмотреть их. Особенно /var/log/messages и /var/log/secure . Как правило, вы найдете сообщение, почему sshd не принял вашу аутентификацию с открытым ключом.

В общем, вам нужно сделать следующее

  1. проверьте, что sshd разрешает аутентификацию с открытым ключом (см. /etc/ssh/sshd_config) - я думаю, что это по умолчанию, поэтому вы должны по крайней мере проверить, что такие опции, как RSAAuthentication и PubkeyAuthentication , явно не отключены.

  2. chown -R ***(your user name)*** ~/.ssh - у вас есть папка

  3. chmod 700 ~/.ssh - только у вас должен быть доступ к папке .ssh. sshd обеспечивает это, не разрешая доступ, если это не так.
  4. chmod 600 ~/.ssh/id_rsa - так же, как и для папки. Это требуется для любого закрытого ключа, который вы хотите использовать
  5. chmod 600 ~/.ssh/authorized_keys - некоторые демоны sshd требуют, чтобы это добавило немного большей безопасности, не давая другим знать, какие ключи им нужно украсть
  6. restorecon -R ~/.ssh - когда в вашей системе активирован SELINUX для установки атрибутов, делающих файлы доступными для демона sshd; проверьте с помощью ls -Z ~/.ssh, чтобы увидеть некоторые атрибуты, связанные с ssh, в файлах, например, ssh_home_t в системах RedHat

редактировать (2016-06-07) - добавить еще несколько правил

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .