【发布时间】:2020-05-27 03:54:35
【问题描述】:
我将 GitLab 用于 CI/CD,我想通过 ssh 连接到我的 Raspberry Pi 进行部署。
我生成了一个新的ED25519 SSH 密钥对,将私钥添加到变量中,将公钥添加到部署密钥。
我的gitlab-ci.yml 文件如下所示:
deyployment:
stage: deploy
image: ubuntu:latest
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" > key
- chmod 600 key
- ssh-add key
- rm key
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- ssh -o StrictHostKeyChecking=no pi@IP_ADDRESS 'cd dockerproject2 && mkdir test'
tags:
- ssh
我在运行部署作业后得到这个输出:
$ ssh -o StrictHostKeyChecking=no pi@IP_ADDRESS 'cd dockerproject2 && mkdir test'
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
Permission denied, please try again.
ssh_askpass: exec(/usr/X11R6/bin/ssh-askpass): No such file or directory
pi@IP_ADDRESS: Permission denied (publickey,password).
现在我只使用 ssh 密钥。我不确定,但输出 Permission denied (publickey,password) 看起来树莓派也需要密码。
我还尝试使用~/.ssh 文件夹中的id_rsa 键。我生成了文件夹~/.ssh/authorized_keys 并在那里保存了id_rsa.pub 文件的副本。这给了我相同的输出。
【问题讨论】:
标签: ssh raspberry-pi gitlab gitlab-ci ssh-keys