我正在尝试使用node:10.21.0-jessie-slim docker image npm安装一个具有git+ssh://git@github.com
依赖项的项目。
我正在像这样运行ssh-keyscan:
RUN mkdir /root/.ssh \
&& ssh-keyscan github.com >> /root/.ssh/known_hosts
没有包锁,我可以安装依赖项。
但是,当存在包锁时,无法确定主机“github.com(140.82.114.3)”的真实性。
我发现使用包锁运行时,所使用的know_hosts文件是
/home/node/.ssh/
中的文件因此,我将其添加到我的Dockerfile中:
ssh-keyscan github.com >> /home/node/.ssh/known_hosts
而且有效。但是我想知道为什么会这样。
最佳答案
当您的ssh配置文件将某些属性设置为true(例如CheckHostIP
或HashKnownHosts
)时,就会发生这种情况,因此,如果将任何属性设置为true强制ssh验证主机,则ssh首先查看known_hosts,从而验证您的ssh配置文件。
~/. ssh/config and /etc/ssh/ssh_config
请看看https://www.ssh.com/ssh/config/
关于node.js - `npm install`在node:10.21.0-jessie-slim Docker Image上的package-lock.json失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62418125/