注意:别忘了开服务器防火墙的端口,不然无法访问。


问题一:

直接将windows电脑上生成过的git秘钥复制黏贴到linux服务器上,使用时报以下错误

1
2
3
4
5
6
7
8
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/root/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/root/.ssh/id_rsa": bad permissions
git@github.com: Permission denied (publickey).

原因:文件夹权限开放的太多

解决方案:chmod 600 ~/.ssh/id_rsa


Hi XiaoCaoAskedForHelp! You’ve successfully authenticated, but GitHub does not provide shell access.

这个不是错,它只是想告诉你,github 不允许 shell 交互。仅此而已。


问题二:

nginx部署出现文件访问权限问题

原因:主机上的文件权限比较低,所以无法访问,调整一下就行。

解决方案:

Dockerfile中添加一条

1
RUN chmod -R 755 /usr/share/nginx/html


问题三:

1
COPY ../certificate /etc/ssl/cert
1
报错:failed to solve: failed to compute cache key: failed to calculate checksum of ref c6d5e059-7191-4a08-977b-26a3bf0bea5a::m4cjaiah6r518jv7y4h7rqyey: "/certificate": not found

如果 Dockerfile 中使用了相对路径,请确保这些文件在 Dockerfile 所在的目录或子目录下。

问题四:
使用github action ssh远程登录腾讯云等国内服务器,部署时会出现主机安全报警,若想取消,解决方案如下:

  1. ,您可以在GitHub Actions工作流文件中将SSH配置设置为忽略主机验证,将StrictHostKeyChecking选项设置为no。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    - name: Deploy to Staging server
    uses: easingthemes/ssh-deploy@main
    env:
    SSH_PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }}
    SOURCE: ".deploy_git/"
    REMOTE_HOST: ${{ secrets.HOST }}
    REMOTE_USER: ${{ secrets.USERNAME }}
    TARGET: "/home/lighthouse/"
    SCRIPT_BEFORE: |
    cd /home/lighthouse
    SCRIPT_AFTER: |
    cd /home/lighthouse
    # 当在GitHub Actions工作流中使用SSH远程登录到腾讯云服务器时,可能会遇到由于主机验证而导致的安全警告。
    # 为了忽略这些警告,可以在GitHub Actions工作流文件中将SSH配置设置为忽略主机验证,将StrictHostKeyChecking选项设置为no。
    SSH_CMD_ARGS: -o StrictHostKeyChecking=no
  2. 在腾讯云中设置白名单或者取消异常登录报警
    loginwarn.png
    whitelist.png