From 6a0bdabd3066d2e2285b7c71dab87c02ba122670 Mon Sep 17 00:00:00 2001 From: Alan Vasquez Date: Sun, 20 Nov 2022 20:22:44 +0000 Subject: [PATCH] feat: use ssh key type --- README.md | 12 ++++++++---- action.yml | 4 ++++ src/index.js | 8 ++++++-- src/inputs.js | 2 +- 4 files changed, 19 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 46f3aa9..dc78902 100644 --- a/README.md +++ b/README.md @@ -37,19 +37,23 @@ eg: myusername eg: '59184' -##### 5. `ARGS` (optional, default '-rltgoDzvO') +##### 5. `REMOTE_KEY_TYPES` (optional, default '+ssh-rsa') + +eg: '+ssh-rsa,+ssh-dss' + +##### 6. `ARGS` (optional, default '-rltgoDzvO') For any initial/required rsync flags, eg: `-avzr --delete` -##### 6. `SOURCE` (optional, default '') +##### 7. `SOURCE` (optional, default '') The source directory, path relative to `$GITHUB_WORKSPACE` root, eg: `dist/` -##### 7. `TARGET` (optional, default '/home/REMOTE_USER/') +##### 8. `TARGET` (optional, default '/home/REMOTE_USER/') The target directory -##### 8. `EXCLUDE` (optional, default '') +##### 9. `EXCLUDE` (optional, default '') path to exclude separated by `,`, ie: `/dist/, /node_modules/` diff --git a/action.yml b/action.yml index 15aa86e..e9abab5 100644 --- a/action.yml +++ b/action.yml @@ -15,6 +15,10 @@ inputs: description: "Remote port" required: false default: "22" + REMOTE_KEY_TYPES: + description: "Remote key types" + required: false + default: "+ssh-rsa" SOURCE: description: "Source directory" required: false diff --git a/src/index.js b/src/index.js index 123fcb4..ec253ff 100644 --- a/src/index.js +++ b/src/index.js @@ -6,14 +6,18 @@ const { addSshKey } = require('./sshKey'); const { REMOTE_HOST, REMOTE_USER, - REMOTE_PORT, SSH_PRIVATE_KEY, DEPLOY_KEY_NAME, + REMOTE_PORT, REMOTE_KEY_TYPES, SSH_PRIVATE_KEY, DEPLOY_KEY_NAME, SOURCE, TARGET, ARGS, EXCLUDE, GITHUB_WORKSPACE } = require('./inputs'); const defaultOptions = { ssh: true, - sshCmdArgs: ['-o StrictHostKeyChecking=no'], + sshCmdArgs: [ + '-o StrictHostKeyChecking=no', + `-o HostKeyAlgorithms=${REMOTE_KEY_TYPES || '+ssh-rsa'}`, + `-o PubkeyAcceptedKeyTypes=${REMOTE_KEY_TYPES || '+ssh-rsa'}`, + ], recursive: true }; diff --git a/src/inputs.js b/src/inputs.js index a0fe7b8..dd60f39 100644 --- a/src/inputs.js +++ b/src/inputs.js @@ -1,4 +1,4 @@ -const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS', 'EXCLUDE']; +const inputNames = ['REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT', 'REMOTE_KEY_TYPES', 'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME', 'SOURCE', 'TARGET', 'ARGS', 'EXCLUDE']; const inputs = { GITHUB_WORKSPACE: process.env.GITHUB_WORKSPACE