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 配置?
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
.