Ответ 1
Вам нужно убедиться, что ваш закрытый ключ находится в формате openssh. С puttygen вы можете экспортировать как Openssh. Это сработало для меня.
Я пытаюсь подключиться к серверу MySQL на хосте X через машину Y через SSH.
Такая же настройка (но более старая версия MySQL workbench) работает на моем другом поле (CentOS 6.3).
Однако такая же настройка не работает на моем CentOS 6.5.
Я попытался использовать SSH-ключ для аутентификации между моим ящиком и машиной Y над SSH, и он работает, когда я ssh из моего окна в машину Y.
Однако рабочая среда MySQL дала мне следующую ошибку: ОШИБКА Не удалось установить соединение SSH: плохой тип аутентификации (allowed_types = ['publickey', 'gssapi-with-mic']).
Некоторые люди предположили, что я установил AllowTcpForwarding в yes в /etc/ssh/sshd _config, что я и сделал, перезапустил службу и перезагрузил мою машину.
Но у меня по-прежнему такая же ошибка.
Любая идея?
Похоже, что по какой-то причине ключ .ssh/id_dsa не подхвачен, когда подключается workbench для подключения к MySQL.
Спасибо заранее.
Вам нужно убедиться, что ваш закрытый ключ находится в формате openssh. С puttygen вы можете экспортировать как Openssh. Это сработало для меня.
Преобразование его в OpenSSH решает проблему. Просто выполните следующие действия:
Недавно я недавно встретил это. Если вы используете секретный ключ, защищенный паролем, и вы только что обновили до macOS Sierra, вам, вероятно, придется снова добавить свой секретный ключ в свою цепочку ключей.
ssh-add -K ~/.ssh/id_rsa
Это мгновенно устранило проблему для меня.
Для пользователей Linux, использующих ssh-keygen:
Что касается других ответов, вам нужно использовать формат openssh.
ssh-keygen -o -b 4096
Это дает мне новую пару ключей RSA типа 4096 бит в формате openssh. Это -o
этот ключ здесь (не каламбур).
Очевидно, что это генерирует новый ключ, поэтому полезно, только если вы можете загрузить новый открытый ключ на сервер. Не забудьте сначала сделать резервные копии ваших старых ключей, если вы используете их в другом месте.
AFAIK ssh-keygen не имеет возможности конвертировать существующий ключ.
Почему Oracle отказался от поддержки вездесущего формата PEM, мне не понятно.
У меня была такая же проблема на macos и с Navicat и с MySQL Workbench. Спасибо Джонатану за [эту статью] [1]
[1]: http://www.codeblocq.com/2016/05/Convert-a-putty-ppk-key-to-a-pem-file-on-OSX/ выяснить мою проблему. Пользователям Macos сначала нужно установить puttygen, а затем преобразовать формат ppk в pem с помощью Джонатана, о котором говорится в его уроке, а затем с помощью TADA! все работает как шарм!