5

Кажется, как будто подобные вопросы уже задавались ранее, но проблема, которая у меня возникла, не была затронута или дана как часть ответов на другие вопросы. Так...

Я использую экземпляр Amazon EC2, на котором работает Ubuntu, и я уже выяснил, как получить SSH-доступ с помощью PuTTY с помощью входа в систему "ubuntu". Я решил, что могу просто сделать несколько useradds, и в каждой из домашних папок других пользователей добавить «.ssh/authorized_keys», как это было в домашней папке "ubuntu", а затем SSH при использовании других имен пользователей (но тот же закрытый ключ) будет работать без сбоев - этого не произошло (я получил сообщение "Сервер отклонил наш ключ").

Кажется, есть кое-что, что я не знаю о том, как работает парное соединение ключей SSH ... есть идеи?

Краткое резюме:

  • SSH-доступ с PuTTY, используя "ubuntu" в качестве имени пользователя - работает нормально.
  • Создание других пользователей, копирование «.ssh/authorized_keys» из домашней папки "ubuntu" в другие домашние папки пользователя и SSH с тем же закрытым ключом (вход в систему с другим именем пользователя) - не работает. Получение сообщения "Сервер отклонил наш ключ".

ОБНОВЛЕНИЕ: Я отредактировал файл /etc /ssh /sshd_config, чтобы раскомментировать строку:

AuthorizedKeysFile %h/.ssh/authorized_keys

(который я не понял, был прокомментирован по умолчанию), но все равно не повезло. Просто подумал, что упомяну это, если это будет предложение ...

ОБНОВЛЕНИЕ 2-ВАЖНО: Благодаря ответу Николая, я понял, что пропустил права доступа к файлу. Хотя разрешения были не совсем проблемой (я думаю), оказывается, что когда я использовал sudo для копирования «.ssh/authorized_keys» в другие добавленные пользовательские папки, владельцем вновь созданной папки и файла был фактически root. Похоже, теперь возникает вопрос - как я могу изменить владельца папки / файла (поскольку пользователь без полномочий root, скорее всего, не сможет проверить ключ, принадлежащий пользователю root)? Я сделаю поиск, чтобы увидеть, если это придет с ответом ...

UPDATE3-ВАЖНО: Я изменил разрешение для '.ssh' и 'authorized_keys', а также для владельца и группы с root на otheruser, но при использовании имени пользователя otheruser при попытке SSH я по-прежнему получаю сообщение "Сервер отклонен наш ключ "сообщение. Извините, я преждевременно добавил раздел с ответами ... Предоставленный ответ выглядел (и все еще кажется) как правильный ответ, логически говоря, поэтому я сказал, что ответ получен до того, как я проверил ...

UPDATE4-ВАЖНО: ответ Николая действительно правильный (чего я и не говорил в UPDATE3). Моя проблема (после того, как я последовал ответу Николая) на самом деле не была связана с какими-либо оговорками SSH. Когда я создал учетную запись другого пользователя, я случайно указал оболочку как /bin/bash/ вместо /bin/bash (обратите внимание на дополнительную /). Я натолкнулся на это, потому что вся работа, которую я делал, была из учетной записи "ubuntu", и после разочарования я попытался просто войти в otheruser после SSHing с ubuntu - что вернуло ошибку "Невозможно выполнить /bin /bash /: не каталог». После изменения оболочки с помощью chsh -s /bin/bash otheruser , я смог войти в otheruser из ubuntu, но что более интересно, это позволило мне войти в SSH с использованием otheruser в качестве пользователя без получения сообщения "Сервер отклонил наш ключ". Итак ... невозможность создания экземпляра оболочки для использования каким-либо образом возвращалась как сообщение об отказе ключа. Есть ли где-то, на что мне стоит обратить внимание ...? В любом случае, еще раз спасибо Николаю.

ОТВЕТ: Ответ Николая охватывает то, что необходимо сделать в этой ситуации, включая использование команды chown для изменения владельца папки / файла, как указано в приведенной ссылке под его ответом. (Я также использовал команду chgrp как группа также была root)

Вот шаги, которые я использовал (возможно, вам придется вводить эти команды с помощью sudo):

  • chmod go-w другой пользователь другой пользователь /.ssh
  • chmod 600 otheruser /.ssh /authorized_keys
  • chown 'otheruser' otheruser /.ssh
  • chown 'otheruser' otheruser /.ssh /authorized_keys
  • chgrp «другой пользователь» другой пользователь /.ssh
  • chgrp «другой пользователь» другой пользователь /.ssh /авторизованный_ключей

ПРИМЕЧАНИЕ. Две последние команды предназначены для изменения группы, с которой связаны папка «.ssh/» и файл авторизованные ключи. Возможно, вы хотите, чтобы они были чем-то другим, но я хотел, чтобы они соответствовали другим файлам / папкам в домашней папке этого пользователя.

1 ответ1

1

Вы также должны установить правильные разрешения для папки .ssh и author_keys: chmod 700 ~/.ssh && chmod 600 ~/.ssh/авторизованные_коды. Кроме того, владельцем этих файлов должен быть тот же пользователь, который пытается войти в систему.

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