能否在 CI Github Actions 中使用个人访问令牌来进行 SSH 认证?

3

我有一个问题,如何使用个人访问令牌在GitHub Actions中进行持续集成

name: Integration

on:
  push:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - uses: oleksiyrudenko/gha-git-credentials@v2-latest
      with:
        token: '${{ secrets.SECRET_GITHUB }}'
    - uses: appleboy/ssh-action@master
      with:
        host: ${{ secrets.HOST }}
        username: ${{ secrets.USERNAME }}
        password: ${{ secrets.PASSWORD }}
        port: ${{ secrets.PORT }}
        script: |
            cd /home/....
            git fetch --all
            git reset --hard origin/master

我有下面的代码,但它不能更新我生产服务器上的代码库。我想能否使用用户名和访问令牌作为变量,而不需要在服务器上全局设置凭据。这是否可能?
1个回答

1

需要明确的是,用于执行远程ssh命令的GitHub操作不会使用token作为密码。

该token仅用于HTTPS URL,而不是SSH URL。
只有在密钥无效(即公钥未发布到远程机器~remoteUser/.ssh/authorized_keys)时,才使用ssh密码,并充当后备机制。

在您的情况下,为测试起见,请使用不带密码的私有SSH密钥。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接