将 SSH 堡垒服务器连接到数据库服务器

JMC*_*JMC 3 linux ssh-tunnel ssh-keys

我想通过位于公共子网上的 Linux SSH 堡垒服务器连接到私有子网上的 Linux 数据库服务器。我还想创建一个到端口 3306 的隧道。

当我尝试从堡垒服务器创建 SSH 连接时,我收到“权限被拒绝(公钥)”。信息。

ssh -L 10.0.0.10:22:10.0.1.10:22 user@10.0.1.10
Run Code Online (Sandbox Code Playgroud)

这是失败的调试输出:

> debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: No more authentication methods to try.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

正确的公钥已经在数据库服务器上,所以我想我需要在某处输入私钥。我在哪里输入私钥?在 3306 上创建隧道是否需要更改 sshd 配置?

qua*_*nta 5

client <-----> Bastion Server <-----> Database Server
                (10.0.1.10)             (10.0.0.10)
Run Code Online (Sandbox Code Playgroud)

所以,试试这个:

$ ssh -C -N -L 3306:10.0.0.10:3306 user@10.0.1.10
Run Code Online (Sandbox Code Playgroud)

然后你可以通过执行连接到数据库服务器:

$ mysql -u <user> -p -h localhost
Run Code Online (Sandbox Code Playgroud)

我在哪里输入私钥?

默认为~/.ssh/,但您可以将其放在任何您想要的位置并使用-i选项指定。

在 3306 上创建隧道是否需要更改 sshd 配置?

确保该行AllowTcpForwarding被注释掉或设置为yes.