【问题标题】:Navicat or MySQL Workbench SSH Tunnel with MFA带有 MFA 的 Navicat 或 MySQL Workbench SSH 隧道
【发布时间】:2021-11-10 01:32:39
【问题描述】:

是否甚至可以使用 Navicat 或 MySQL 工作台(或任何其他工具)通过像堡垒主机这样的跳转框连接到 Amazon RDS?

如果我像这样在终端中手动打开 ssh 隧道,我可以这样做:

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

然后从 mysql 工具连接到localhost:3306,这样就可以了。重要的是要知道在堡垒上需要 MFA 才能登录。

我什至无法使用与终端/命令行中使用的完全相同的凭据从Navicat 连接到我的堡垒机。我得到了错误:

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

所以我去了堡垒箱并从身份验证方法中删除了keyboard-interactive,它可以工作。但是,这显然会破坏我正在使用的 MFA,所以这不是一个选择。

我是否需要在堡垒机上进行任何其他配置才能使其正常工作,或者这根本不可能?

【问题讨论】:

    标签: mysql amazon-web-services amazon-rds ssh-tunnel bastion-host


    【解决方案1】:

    事实证明我的 sshd 配置很好,但是,我确实返回并启用了 MFA 自动推送。

    Navicat

    如果为 MFA 禁用自动推送,您需要选择 Password and Public Key(即使我们在这里只使用公钥)。在密码字段中,如果启用了自动推送,它可以是空白的,否则在此处输入您想要通知的选择编号(没错,它不是普通密码,我知道愚蠢)。然后只需使用您的普通私钥和密码作为私钥,它应该可以正常连接。

    MySQL Workbench / Sequel Pro

    必须拥有自动推送或类似功能才能使用 MFA。如果我没有启用自动推送,它将无法连接。再次使用Password and Public Key。实例的密码为空,然后它只是普通的公钥和您的公钥的密码。

    IntelliJ

    这样更好。如果您没有启用自动推送,它将与 MFA 选项一起使用。与其他人不同,您可以选择Public Key 选项而不是Password and Public Key,它应该可以连接并正常工作。


    - - - - - 轮换 IP 错误 - - - - -

    现在不幸的是,如果你有一个恒定的端点,并且在它下面有一个旋转的 IP(就像我做的那样),你会在 ssh 中遇到令人讨厌的“中间人”可怕错误。如果是这种情况,只有 IntelliJ 提供忽略 StrictHostSSHKeyChecking 的复选框。

    因此,要仅针对此特定端点解决此问题,您可以强制忽略 SSH 密钥检查。为此,请将以下条目添加到您的 ~/.ssh/config 文件中:

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

    您可以在Host 部分使用尽可能多的通配符,这很好。所以根据你的需要定制它。现在您无需检查 ssh 密钥,但总比必须每天(或 IP 轮换的频率)删除 ~/.ssh/known_hosts 中的端点条目要好。

    希望这有助于减轻某人的痛苦。

    【讨论】:

      猜你喜欢
      • 2013-07-13
      • 2017-07-10
      • 2019-03-30
      • 2016-08-07
      • 1970-01-01
      • 2012-03-06
      • 2021-10-29
      • 1970-01-01
      • 2018-02-22
      相关资源
      最近更新 更多