0

甚至可以使用 Navicat 或 MySQL 工作台(或任何其他工具)通过像堡垒主机这样的跳转框连接到 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,所以这不是一个选择。

为了使这项工作,我需要在我的堡垒箱上进行任何其他配置,还是这根本不可能?

4

1 回答 1

0

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

Navicat

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

MySQL 工作台 / Sequel Pro

必须有 autopush 或类似的东西才能使用 MFA。如果我没有启用自动推送,它将无法连接。再次使用Password and Public Key. 实例的密码是空白的,那么它只是普通的公钥和你的公钥的密码。

智能

这更好。如果您没有启用自动推送,它将与 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.

希望这有助于为某人节省很多痛苦。

于 2021-09-17T20:27:20.027 回答