【问题标题】:Github Host key verification FailingGithub 主机密钥验证失败
【发布时间】:2021-12-25 17:22:37
【问题描述】:

我正在尝试将 Github.com 添加为此 docker 文件的 known_hosts 文件,但不知何故,我相信 www-data 无法访问 known_hosts 文件。下面的代码是完整的 docker 文件。具体的git错误是

执行 git clone --mirror 失败 --

主机密钥验证失败。 致命:无法从远程存储库读取。

请确保您拥有正确的访问权限。

并且存储库存在。

   FROM php:7.4-fpm as base
    ENV COMPOSER_HOME=/tmp/composer
    ENV APCU_VERSION=5.1.18
    
    RUN apt-get update && apt-get install -y --no-install-recommends gnupg \
        netcat \
        sudo \
        libicu-dev \
        libfreetype6-dev \
        libjpeg-dev \
        libpng-dev \
        libsodium-dev \
        libxml2-dev \
        libxslt-dev \
        libzip-dev \
        rsync \
        unzip \
        git \
        openssh-client \
        ;
    
    RUN pecl install apcu-${APCU_VERSION}
    
    RUN docker-php-ext-configure gd --enable-gd --with-freetype --with-jpeg
    RUN docker-php-ext-install -j "$(nproc)" \
        bcmath \
        gd \
        intl \
        mysqli \
        opcache \
        pdo_mysql \
        sockets \
        soap \
        xsl \
        zip \
        ;
    
    RUN docker-php-ext-enable apcu
    
    RUN echo "memory_limit=1G" >> /usr/local/etc/php/conf.d/zz-memory-limit-php.ini
    RUN echo "apc.enable=1" >> /usr/local/etc/php/conf.d/zz-apcu.ini
    RUN echo "apc.enable_cli=1" >> /usr/local/etc/php/conf.d/zz-apcu.ini
    RUN echo "opcache.memory_consumption=512MB" >> /usr/local/etc/php/conf.d/zz-opcache.conf
    RUN echo "opcache.max_accelerated_files=60000" >> /usr/local/etc/php/conf.d/zz-opcache.conf
    RUN echo "opcache.consistency_checks=0" >> /usr/local/etc/php/conf.d/zz-opcache.conf
    RUN echo "opcache.validate_timestamps=0" >> /usr/local/etc/php/conf.d/zz-opcache.conf
    RUN echo "opcache.enable_cli=1" >> /usr/local/etc/php/conf.d/zz-opcache.conf
    
    
    FROM base as build
    
    RUN curl https://files.magerun.net/n98-magerun2.phar -o /usr/local/bin/magerun \
        && chmod 755 /usr/local/bin/magerun
    RUN mkdir -p /root/.ssh && \
        chmod 0700 /root/.ssh && \
        ssh-keyscan -t rsa github.com >> /root/.ssh/known_hosts
    USER www-data
    WORKDIR /var/www/html
    
    ARG COMPOSER_AUTH
    
    COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
    
    COPY --chown=www-data composer.json composer.json
    COPY --chown=www-data composer.lock composer.lock
    
    RUN php -d memory_limit=2G $(which composer) install --no-progress --no-dev
    
    COPY --chown=www-data app/etc/config.php app/etc/config.php
    
    COPY --chown=www-data bin bin
    
    FROM build as app
    
    ENV MAGE_MODE=production
    RUN php -d memory_limit=2G bin/magento setup:di:compile
    RUN composer dump-autoload --optimize --apcu
    RUN php -d memory_limit=2G bin/magento setup:static-content:deploy -f
    RUN rm -rf /var/www/html/var/cache
    RUN rm -rf /var/www/html/var/page_cache
    RUN rm -rf /var/www/html/var/session
    
    COPY --chown=www-data app/etc/env.docker.php app/etc/env.php

【问题讨论】:

  • 你能让它使用 HTTPS 而不是 git+ssh 吗?更简单。

标签: docker dockerfile openssh


【解决方案1】:

ssh 将验证另一台服务器的密钥。它无法确认服务器提供的密钥是否可信,因此失败。

ssh-keygen -R domain.com

ssh-keyscan -t rsa domain.com >> ~/.ssh/known_hosts
The authenticity of host 'domain.com (a.b.c.d)' can't be established.
RSA key fingerprint is XX:XX:...:XX.
Are you sure you want to continue connecting (yes/no)?

答:是的

【讨论】:

    【解决方案2】:

    请联系您的系统管理员。在 /home/user01/ 中添加正确的主机密钥。 ssh/known_hosts 删除此消息。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 2020-07-15
    • 2018-10-04
    • 2020-11-10
    • 2022-12-20
    • 2021-07-03
    • 2016-10-24
    相关资源
    最近更新 更多