gpt4 book ai didi

Github 工作流操作和 EC2 : Error Loading Key Invalid Format

转载 作者:行者123 更新时间:2023-12-03 17:12:37 26 4
gpt4 key购买 nike

我正在尝试为我的 nodejs 服务器设置 CI。我想使用 github 操作 ssh 到我的 ec2 实例,然后我可以在那里 git clone/pull 我更新的 repo。

我可以在我的本地机器上通过 ssh 进入我的 ec2 实例,没有问题。我只是做一些类似的事情:“ssh -i keypar.pem username@some-ip.region.compute.amazonaws.com”并连接。但是,我似乎无法在 worflow/actions 脚本上建立连接。这是我的工作流 yml 文件中的内容:

名称:CI

在:[推]

工作:
build :

runs-on: ubuntu-latest

steps:
- name: Connect
env:
DEPLOY_KEY: ${{ secrets.EC2 }}
run: |
eval `ssh-agent`
ssh-add - <<< "${DEPLOY_KEY}"
ssh ec2-user@ec2-instance-ip-here.us-east-2.compute.amazonaws.com

这个脚本给了我错误 “加载 key “(stdin)”时出错:格式无效” .此外,当我查看 repo 设置下的部署 key 部分时,它说该 key 从未被使用过。

(显然,除了上面列出的步骤之外,我还需要安装、克隆和执行其他步骤。)

总之:

1 如何修复无效格式错误?

2 如何加载和引用 key 对?

最佳答案

有一种更好的方法可以在 EC2 中执行 SSH 命令:

name: CI
on: [push, pull_request]
jobs:
# test:
# ...
deploy:
name: "Deploy to staging"
runs-on: ubuntu-latest
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
# needs: test
steps:
- name: Configure SSH
run: |
mkdir -p ~/.ssh/
echo "$SSH_KEY" > ~/.ssh/staging.key
chmod 600 ~/.ssh/staging.key
cat >>~/.ssh/config <<END
Host staging
HostName $SSH_HOST
User $SSH_USER
IdentityFile ~/.ssh/staging.key
StrictHostKeyChecking no
END
env:
SSH_USER: ${{ secrets.STAGING_SSH_USER }}
SSH_KEY: ${{ secrets.STAGING_SSH_KEY }}
SSH_HOST: ${{ secrets.STAGING_SSH_HOST }}

- name: Stop the server
run: ssh staging 'sudo systemctl stop my-application'

- name: Check out the source
run: ssh staging 'cd my-application && git fetch && git reset --hard origin/master'

- name: Start the server
if: ${{ always() }}
run: ssh staging 'sudo systemctl start my-application'
信用: GitHub Actions: How to run SSH commands (without third-party actions)

关于Github 工作流操作和 EC2 : Error Loading Key Invalid Format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59567466/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com