5

Я пытаюсь установить соединение с открытым ключом SSH с компьютера с Windows 7 на компьютер с Red-Hat Linux. Конечной целью является использование pscp (версия scp PuTTY) из командного терминала без необходимости повторного ввода пароля.

Следуя документации PuTTY и другим онлайн-источникам, я использовал PuTTYgen для генерации пары ключей. Затем я скопировал сгенерированный открытый ключ в файл ~/.ssh/authorized_keys на компьютере с Linux (насколько я могу судить, он работает на сервере OpenSSH).

Чтобы проверить соединение, я запускаю PuTTY и устанавливаю имя пользователя и файл закрытого ключа в соответствующие места в его графическом интерфейсе.

Тем не менее, при попытке подключиться с использованием SSH в PuTTY, соединение использует предварительно заданное имя пользователя, но я получаю сообщение об ошибке « Server refused our key » и запрос пароля.

Затем я попытался скопировать и вставить текст с открытым ключом из графического интерфейса PuTTYgen в файл authorized_keys ключи , но он тоже не работал.

  1. Как мне настроить соединение с открытым ключом из Win 7 для Linux?

  2. Как мне использовать это с pscp (а не с ssh от PuTTY)?


Обновление: думая, что проблема может быть в формате ключа PuTTYgen , я использовал ssh-keygen на компьютере с Linux для создания пары ключей RSA. Он генерируется закрытый ключ id_rsa и id_rsa.pub открытого ключа. Попытка использовать > ssh-add id_rsa не увенчалась успехом, так как я получил ответ « Could not open a connection to your authentication agent. », Поэтому я просто использовал > cp id_rsa.pub authorized_keys .

Затем я скопировал эти файлы на компьютер с Windows и использовал PuTTYgen для преобразования закрытого ключа в формат закрытого ключа PuTTY (*.ppk). Пытаясь соединиться, используя новый ключ, я получаю ответ, что « Server refused our key ».

3 ответа3

3

Вы должны следовать им должным образом.

Настройте открытый ключ на сервере SSH

Скопируйте открытый ключ на SSH-сервер через SFTP.

put publicy_key

Авторизуйтесь на SSH сервере, проверьте скопированный открытый ключ

ls -l public_key

Поскольку открытый ключ не имеет каких-либо разрешений, измените его на 400 (для чтения).

chmod 400 public_key

Используйте инструмент ssh-keygen для создания открытого ключа формата openSSH

ssh-keygen -if public_key > public_key_openssh_format

Добавьте созданный открытый ключ openSSH к файлам author_keys

cat public_key_openssh_format >> ~/.ssh/authorized_keys

Проверьте права доступа к папке .ssh и файлу авторизованного ключа для прав доступа.

ls -al ~/.ssh

Проверьте ключевые пары с PuTTY

Теперь аутентификацию на основе ключей можно проверить с помощью PuTTY. Введите имя хоста и порт

Выберите закрытый ключ (.ppk)

Подтвердите предупреждение безопасности

Если конфигурация правильная, соединение будет установлено успешно

Если вы все еще застряли. Затем вам нужно заново создать пользователя, выполнить действия и снова настроить открытый ключ.

Пользователь может быть воссоздан с помощью следующей команды:

Сделайте копию пользовательской папки и удалите ее перед воссозданием.

yast2 users add username=userName cn=" User for test" password="password" gid=100 grouplist=dialout,video type=local
0

Я пришел к выводу, что PuTTY или PuTTYgen не работает. Это не простая ошибка пользователя в отношении форматов файлов. Если я вычисляю хеш авторизованного открытого ключа на сервере, он совпадает с хешем, отображаемым PuTTYgen на клиенте, где я сгенерировал ключи. Тем не менее, сервер отказывается от ключа, как будто он не совпадает.

Я пробовал это с OS X, Linux и маршрутизаторами Cisco и Juniper. Открытый ключ ssh-rsa от PuTTYgen просто не работает.

Если вы сгенерируете ключи с помощью OpenSSH, а затем импортируете их в PuTTYgen, чтобы сохранить в виде .ppk для PuTTY, это работает нормально.

0

Возможно, вам нужно установить для параметра «Connection /SSH /Auth /Allow agent forwarding» значение "true". Команда ssh-add сработала для меня после того, как я это сделал.

Скриншот PuTTY, показывающий настройки аутентификации SSH

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