Я вижу здесь 2 варианта, используя ssh-агент
:
имя: развернуть
на: [нажать]
вакансии:
развертывать:
запуски: ubuntu-20.04
среда:
USER_HOST: ec2-user@ec2...
HOST_KEY: ec2... ecdsa-sha2-nistp256 AAAA... mXU=
шаги:
- имя: Проверить код
использует: action/checkout@v2
- имя: Запустить ssh-агент
использует: webfactory/[email protected]
с:
ssh-закрытый ключ: ${{ секреты.SSH_PRIVATE_KEY }}
- имя: добавьте ключ хоста в ~/.ssh/known_hosts
запустить: |
эхо "$HOST_KEY" >> ~/.ssh/known_hosts
- имя: Развернуть
запустить: |
установить -х
BRANCH=${GITHUB_REF#refs/heads/}
кошка .github/deploy.sh | ssh -T "$USER_HOST" sh -s "$BRANCH"
И без ssh-агент
:
имя: развернуть
на: [нажать]
вакансии:
развертывать:
запуски: ubuntu-20.04
среда:
USER_HOST: ec2-user@ec2...
HOST_KEY: ec2... ecdsa-sha2-nistp256 AAAA... mXU=
шаги:
- имя: Проверить код
использует: action/checkout@v2
- название: Настроить ssh
запустить: |
установить -х
мкдир ~/.ssh
эхо "$SSH_PRIVATE_KEY" > ~/.ssh/id_rsa
chmod 0600 ~/.ssh/id_rsa
эхо "$HOST_KEY" >> ~/.ssh/known_hosts
среда:
SSH_PRIVATE_KEY: ${{ секреты.SSH_PRIVATE_KEY }}
- имя: Развернуть
запустить: |
установить -х
BRANCH=${GITHUB_REF#refs/heads/}
кошка .github/deploy.sh | ssh -Ti ~/.ssh/id_rsa "$USER_HOST" sh -s "$BRANCH"
Они оба в безопасности? Или стоит отдать предпочтение одному из них? webfactory/ssh-агент
не сохраняет ключ на диске.