GitLab 警告:未受保护的私钥文件! “/dev/fd/63”的权限 0660 过于开放
GitLab WARNING: UNPROTECTED PRIVATE KEY FILE! Permissions 0660 for '/dev/fd/63' are too open
我将 GitLab 用于 CI/CD,我想通过 ssh 连接到我的 Raspberry Pi 进行部署。
我生成了一个新的 ED25519 SSH
密钥对,将私钥添加到变量中,将公钥添加到部署密钥中。
我的 gitlab-ci.yaml 文件如下所示:
deployment:
stage: deploy
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- apt-get install rsync
script:
- ssh pi@IP-ADDRESS "cd dockerproject2 && mkdir test"
tags:
- ssh
这是我的部署阶段的输出:
$ which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
/usr/bin/ssh-agent
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ eval $(ssh-agent -s)
Agent pid 2805
$ [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
$ ssh-add <(echo "$SSH_PRIVATE_KEY")
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/dev/fd/63' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
ERROR: Job failed: exit status 1
我尝试用 $ chmod 600 private_key_name
和 $ chmod 0644 private_key_name
更改私钥的权限。之后我重新启动了 Raspberry Pi。但是没有任何效果。
我找到了解决办法。
只是不能像这样使用这个命令:ssh-add <(echo "$SSH_PRIVATE_KEY")
必须如下所示:echo "$SSH_PRIVATE_KEY" | ssh-add -
我将 GitLab 用于 CI/CD,我想通过 ssh 连接到我的 Raspberry Pi 进行部署。
我生成了一个新的 ED25519 SSH
密钥对,将私钥添加到变量中,将公钥添加到部署密钥中。
我的 gitlab-ci.yaml 文件如下所示:
deployment:
stage: deploy
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- apt-get install rsync
script:
- ssh pi@IP-ADDRESS "cd dockerproject2 && mkdir test"
tags:
- ssh
这是我的部署阶段的输出:
$ which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )
/usr/bin/ssh-agent
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ eval $(ssh-agent -s)
Agent pid 2805
$ [[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
$ ssh-add <(echo "$SSH_PRIVATE_KEY")
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0660 for '/dev/fd/63' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
ERROR: Job failed: exit status 1
我尝试用 $ chmod 600 private_key_name
和 $ chmod 0644 private_key_name
更改私钥的权限。之后我重新启动了 Raspberry Pi。但是没有任何效果。
我找到了解决办法。
只是不能像这样使用这个命令:ssh-add <(echo "$SSH_PRIVATE_KEY")
必须如下所示:echo "$SSH_PRIVATE_KEY" | ssh-add -