SSH-туннель Navicat или MySQL Workbench с MFA

Можно ли вообще использовать Navicat или MySQL workbench (или любой другой инструмент) для подключения к Amazon RDS через переходник, например, хост-бастион?

Я могу сделать это, если вручную открою ssh-туннель в терминале следующим образом:

      ssh -A <my_user>@<bastion_endpoint> -L 3306:<RDS_ENDPOINT>:3306

Затем подключитесь к localhost:3306из инструмента mysql это работает. Важно знать, что на бастионе MFA требуется авторизация.

Я даже не могу подключиться к своему бастионному ящику из Navicatиспользуя те же учетные данные, что и в терминале / командной строке. Я получаю сообщение об ошибке:

      Access denied for 'none'. Authentication that can continue: keyboard-interactive (11)

Я подошел к ящику-бастиону и снял keyboard-interactiveиз методов аутентификации, и это работает. Однако это явно нарушает MFA, который я использую, так что это не вариант.

Есть ли какие-либо другие настройки, которые мне нужно сделать на моем ящике-бастионе, чтобы это работало, или это просто невозможно?

1 ответ

Решение

Оказалось, что моя конфигурация sshd была в порядке, однако я вернулся и включил автоматическую отправку с помощью MFA.

Navicat

Если автоматическая отправка отключена для MFA, вам нужно выбрать (хотя здесь мы просто используем открытый ключ). В поле пароля он может быть пустым, если автоматическое нажатие включено, в противном случае введите номер вашего выбора, который вы хотите получать здесь (это правильно, это не обычный пароль, я знаю тупой). Затем просто используйте свой обычный закрытый ключ и пароль для закрытого ключа, и он должен подключиться нормально.

MySQL Workbench / Sequel Pro

У вас ДОЛЖЕН быть автоматический запуск или что-то подобное, чтобы работать с MFA. Если бы у меня не было включено автоматическое нажатие, он не смог бы подключиться. Опять воспользуюсь. Пароль к экземпляру пуст, тогда это просто обычный открытый ключ и пароль для вашего открытого ключа.

IntelliJ

Так лучше. Он будет работать с запросом при выборе MFA, если у вас не включена автоматическая отправка. В отличие от других, вы можете выбрать Public Key вариант вместо Password and Public Key и он должен подключиться и работать нормально.


- - - - - Ошибки с ротацией IP-адресов - - - - -

Теперь, к сожалению, вы получите раздражающую страшную ошибку «человек посередине» с ssh, если у вас есть постоянная конечная точка с чередующимися IP-адресами под ней (как это было у меня). ТОЛЬКО в этом случае IntelliJ предлагает флажок для игнорирования StrictHostSSHKeyChecking.

Поэтому, чтобы обойти это ТОЛЬКО для этой конкретной конечной точки, вы можете заставить ее игнорировать проверку ключа SSH. Для этого добавьте следующую запись в свой ~/.ssh/config файл:

      # changing IPs
Host my-custom-host.com
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null

Вы можете использовать любое количество подстановочных знаков в Hostраздел, который хорош. Так что настройте его под свои нужды. Теперь вы не будете проверять ключ ssh, но это лучше, чем ежедневно (или как часто меняется IP-адрес) удалять запись конечной точки в ~/.ssh/known_hosts.

Надеюсь, это поможет кому-то избавиться от боли.

Другие вопросы по тегам