Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using RSA Private Key to Deploy in EC2 #30

Open
lhcavalcanti opened this issue Jun 17, 2021 · 4 comments
Open

Using RSA Private Key to Deploy in EC2 #30

lhcavalcanti opened this issue Jun 17, 2021 · 4 comments

Comments

@lhcavalcanti
Copy link

Hello,

I'm trying to deploy the build of my app through the SCP directly in my EC2 instance, but I'm getting error in reading the key file (it is private RSA key from AWS).

Error:

⚠️ The GitHub Action couldn't connect to *** Error: Cannot parse privateKey: Unsupported key format
    at Client.module.exports.597.Client.connect (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11745:13)
Error: Cannot parse privateKey: Unsupported key format
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10148:24
    at new Promise (<anonymous>)
    at NodeSSH.connect (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10128:15)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11364:23
    at Generator.next (<anonymous>)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11282:71
    at new Promise (<anonymous>)
    at module.exports.526.__awaiter (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11278:12)
    at connect (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11347:12)
Starting scp Action: m3s-app.zip to /home/ubuntu/
⚠️ An error happened:(. Not connected Error: Not connected
Error: Not connected

Workflow config:

  • name: Transfer Build
    uses: garygrossgarten/github-action-scp@release
    with:
    local: "app.zip"
    remote: "/home/ubuntu/"
    host: ${{ secrets.AWS_HOST }}
    username: "ubuntu"
    privateKey: ${{ secrets.AWS_PEM }}

Am I doing something wrong? Or it does not support this type of key?

Thanks!

@MaLIE2018
Copy link

MaLIE2018 commented Nov 30, 2021

I have the same problem, that it is not clear to me, why my key is not accepted.
EDIT: key was incorrectly copied from wsl2 terminal to github. 🤪

@Dud3core-webdev
Copy link

Dud3core-webdev commented Dec 10, 2021

I have the same problem trying to connect to a Digital Ocean Droplet.

The key format is

-----BEGIN OPENSSH PRIVATE KEY-----
{{key data}}
-----END OPENSSH PRIVATE KEY-----

my deploy script looks like this

name: .NET

on:
  push:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Setup .NET
      uses: actions/setup-dotnet@v1
      with:
        dotnet-version: 5.0.x
    - name: Restore dependencies
      run: dotnet restore
    - name: Release Build
      run: dotnet build --configuration Release --no-restore
    - name: Test
      run: dotnet test --verbosity normal
    - name: Start Deploy
      uses: garygrossgarten/github-action-scp@release
      with: 
        local: /home/runner/work/MfWebDevApiCore/MfWebDevApiCore/MfWebDevServiceNew/bin/Release
        remote: var/www/MfWebDevServices
        host: ${{ secrets.SSH_HOST }}
        username: ${{ secrets.SSH_USERNAME }}
        privateKey: ${{ secrets.SSH_KEY }}
        rmRemote: true
        dotfiles: true

Full output from run:

Run garygrossgarten/github-action-scp@release
⚠️ The GitHub Action couldn't connect to ***. Error: Cannot parse privateKey: Failed to generate information to decrypt key
Establishing a SSH connection to ***.
    at Client.module.exports.597.Client.connect (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11745:13)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10148:24
    at new Promise (<anonymous>)
    at NodeSSH.connect (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10128:15)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11364:23
    at Generator.next (<anonymous>)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11282:71
    at new Promise (<anonymous>)
    at module.exports.526.__awaiter (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11278:12)
    at connect (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11347:12)
⚠️ An error happened:(. Not connected Error: Not connected
    at Client.module.exports.597.Client.exec (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:12224:11)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10228:24
    at new Promise (<anonymous>)
    at NodeSSH.execCommand (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10227:16)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11434:23
    at Generator.next (<anonymous>)
    at /home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11282:71
    at new Promise (<anonymous>)
    at module.exports.526.__awaiter (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11278:12)
    at cleanDirectory (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:11432:12)
using provided private key
⚠️ An error happened:(. Not connected to server Error: Not connected to server
    at NodeSSH.getConnection (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10073:19)
    at NodeSSH.requestSFTP (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10189:33)
    at NodeSSH.putDirectory (/home/runner/work/_actions/garygrossgarten/github-action-scp/release/dist/index.js:10420:47)
Error: Cannot parse privateKey: Failed to generate information to decrypt key
Starting scp Action: /home/runner/work/MfWebDevApiCore/MfWebDevApiCore/MfWebDevServiceNew/bin/Release to var/www/MfWebDevServices
Error: Not connected
 1: 0x9da7c0 node::Abort() [/home/runner/runners/2.285.1/externals/node12/bin/node]
 2: 0xa4e219  [/home/runner/runners/2.285.1/externals/node12/bin/node]
 3: 0xba5d59  [/home/runner/runners/2.285.1/externals/node12/bin/node]
 4: 0xba7b47 v8::internal::Builtin_HandleApiCall(int, unsigned long*, v8::internal::Isolate*) [/home/runner/runners/2.285.1/externals/node12/bin/node]
 5: 0x13750d9  [/home/runner/runners/2.285.1/externals/node12/bin/node]

EDIT: SOLVED, SSH key was encrypted with a passphrase

@matheusfrancisco
Copy link

@Dud3core-webdev I have had this same problem, how did u solve this?

@Dud3core-webdev
Copy link

@matheusfrancisco I added my SSH passphrase with the call:

- name: Deploy to Digital Ocean
        uses: appleboy/scp-action@master
        with:
          source: path/bin/Release
          target: var/www/path
          host: ${{ secrets.SSH_HOST }}
          username: ${{ secrets.SSH_USERNAME }}
          key: ${{ secrets.SSH_KEY }}
          passphrase: ${{ secrets.SSH_PASSWORD }} <-- This was missing
          rm: true

It worked every time after that

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants