使用docker远程服务器的SSH隧道
我正在尝试编写Dockerfile来使用ssh隧道来访问远程mySQL数据库。
试着用下面的Run
命令:
ssh -f -N username@hostname -L [local port]:[database host]:[remote port] StrictHostKeyChecking=no
并得到这个错误:
“主机密钥validation失败”错误
假设Docker容器不能访问任何SSH数据(即:没有~/.ssh/known_hosts
),你有两种方法来处理这个:
- 从容器内使用
ssh-keyscan -t rsa server.example.com > ~/.ssh/my_known_hosts
添加远程主机 - 或从现有的
my_known_hosts
复制相关行,或者将整个文件COPY
到容器中。
这两种方法都应该这样做。