28 Commits

Author SHA1 Message Date
Bo-Yi Wu
6d1fc191a8 chore: add dependabot
Some checks failed
scp files / Build (push) Failing after 5s
2022-06-15 22:08:26 +08:00
Bo-Yi Wu
233f762873 fix(ssh): OpenSSH 8.8+ RSA keys incompatibility
See: https://github.com/appleboy/drone-scp/issues/130
2022-06-15 22:06:41 +08:00
Bo-Yi Wu
b3f8d37ead Update README.md 2022-02-24 11:13:59 +08:00
Bo-Yi Wu
f57f59fba9 chore(drone-scp): upgrade to 1.6.3
Some checks failed
scp files / Build (push) Failing after 4s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2021-10-23 18:49:52 +08:00
Bo-Yi Wu
8a54b39459 chore: replace ADD with COPY 2021-02-13 10:57:10 +08:00
Dan Tsekhanskiy
eb319b796f Minor typo/grammar fixes (#48)
Thanks for making this action! Noticed a few grammar/typos when going through the README.
2021-02-01 11:41:29 +08:00
Bjørn Wikkeling
3c3575eb49 fixed typo (#44) 2020-12-26 06:35:19 +08:00
Bo-Yi Wu
edc8ec9139 chore: bump drone-scp to v1.6.2
Some checks failed
scp files / Build (push) Failing after 5s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-06-15 16:04:17 +08:00
Bo-Yi Wu
167d6d7ff4 try the latest version
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-06-15 16:00:17 +08:00
Bo-Yi Wu
ecd6a3623b Create .env 2020-06-15 15:33:59 +08:00
Bo-Yi Wu
31b514c281 fix typo 2020-06-05 09:06:01 +08:00
Bo-Yi Wu
5924b2b6d4 Merge pull request #25 from appleboy/use_insecure_cipher
Some checks failed
scp files / Build (push) Failing after 4s
2020-05-24 14:33:16 +08:00
Bo-Yi Wu
a2fea1040d chore: bump drone-scp to v1.6.1 2020-05-24 14:26:07 +08:00
Bo-Yi Wu
8535291767 chore: add use insecure cipher flag
fix server offered: [diffie-hellman-group-exchange-sha256] error

See https://github.com/appleboy/scp-action/issues/15
2020-05-24 14:24:45 +08:00
Bo-Yi Wu
faff4f4218 chore: bump drone-scp to 1.6.0
Some checks failed
scp files / Build (push) Failing after 5s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-05-22 09:47:12 +08:00
Bo-Yi Wu
ddd9176502 remove unused flag
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-05-22 09:45:56 +08:00
Bo-Yi Wu
326e14ddd1 docs: add fingerprint flag
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-05-22 09:44:56 +08:00
Bo-Yi Wu
0329cffdaa chore: remove fail job 2020-05-22 00:47:08 +08:00
Bo-Yi Wu
6df9245376 chore: add debug 2020-05-21 23:33:05 +08:00
Bo-Yi Wu
4df1959b05 chore: add debug 2020-05-21 23:30:27 +08:00
Bo-Yi Wu
1c43a9662a chore: test 2020-05-21 23:24:36 +08:00
Bo-Yi Wu
2949c755a2 Merge pull request #22 from appleboy/docs 2020-05-08 19:04:41 +08:00
Bo-Yi Wu
aefa39daef chore: Add limitation in readme 2020-05-08 19:04:16 +08:00
Bo-Yi Wu
2305e4000a upgrade drone-scp to 1.5.9
Some checks failed
scp files / Build (push) Failing after 4s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-05-05 09:54:11 +08:00
Bo-Yi Wu
c51573a06a upgrade drone-scp to 1.5.8
Some checks failed
scp files / Build (push) Failing after 5s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-05-04 12:44:33 +08:00
Bo-Yi Wu
d068cd7f84 Merge pull request #20 from appleboy/docs 2020-05-04 09:16:53 +08:00
Bo-Yi Wu
8ba3cfe760 docs: use with instead of env
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-05-04 09:12:47 +08:00
Bo-Yi Wu
1a6b426141 chore: upgrade drone-scp to 1.5.7
Some checks failed
scp files / Build (push) Failing after 4s
2020-04-16 22:25:52 +08:00
6 changed files with 59 additions and 24 deletions

10
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
- package-ecosystem: gomod
directory: /
schedule:
interval: weekly

View File

@@ -50,3 +50,15 @@ jobs:
port: ${{ secrets.PORT }}
source: "tests/a.txt,tests/b.txt"
target: "test"
- name: use insecure cipher
uses: ./
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
key: ${{ secrets.SSH2 }}
passphrase: ${{ secrets.PASSPHRASE }}
port: ${{ secrets.PORT }}
source: "tests/a.txt,tests/b.txt"
target: "test"
use_insecure_cipher: true

View File

@@ -1,5 +1,5 @@
FROM appleboy/drone-scp:1.5.6-linux-amd64
FROM appleboy/drone-scp:1.6.4-linux-amd64
ADD entrypoint.sh /entrypoint.sh
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -2,13 +2,13 @@
[GitHub Action](https://github.com/features/actions) for copying files and artifacts via SSH.
![ssh key](./images/copy-multiple-file.png)
[![Actions Status](https://github.com/appleboy/scp-action/workflows/scp%20files/badge.svg)](https://github.com/appleboy/scp-action/actions)
**Important**: Only support **Linux** [docker](https://www.docker.com/) container.
## Usage
copy files and artifacts via SSH as blow.
Copy files and artifacts via SSH:
```yaml
name: scp files
@@ -33,13 +33,14 @@ jobs:
## Input variables
see the [action.yml](./action.yml) file for more detail imformation.
See the [action.yml](./action.yml) file for more detail information.
* host - scp remote host
* port - scp remote port, default is `22`
* username - scp username
* password - scp password
* passphrase - the passphrase is usually to encrypt the private key
* fingerprint - fingerprint SHA256 of the host public key, default is to skip verification
* timeout - timeout for ssh to remote host, default is `30s`
* command_timeout - timeout for scp command, default is `10m`
* key - content of ssh private key. ex raw content of ~/.ssh/id_rsa
@@ -50,6 +51,7 @@ see the [action.yml](./action.yml) file for more detail imformation.
* strip_components - remove the specified number of leading path elements.
* overwrite - use `--overwrite` flag with tar
* tar_tmp_path - temporary path for tar file on the dest host
* use_insecure_cipher - include more ciphers with use_insecure_cipher (see [#15](https://github.com/appleboy/scp-action/issues/15))
SSH Proxy Setting:
@@ -61,10 +63,12 @@ SSH Proxy Setting:
* proxy_timeout - timeout for ssh to proxy host, default is `30s`
* proxy_key - content of ssh proxy private key.
* proxy_key_path - path of ssh proxy private key
* proxy_fingerprint - fingerprint SHA256 of the host public key, default is to skip verification
* proxy_use_insecure_cipher - include more ciphers with use_insecure_cipher (see [#15](https://github.com/appleboy/scp-action/issues/15))
### Example
Copy file via ssh password
Copy file via a SSH password:
```yaml
- name: copy file via ssh password
@@ -78,17 +82,16 @@ Copy file via ssh password
target: "test"
```
Copy file via ssh key
Copy file via a SSH key:
```yaml
- name: copy file via ssh key
uses: appleboy/scp-action@master
env:
HOST: ${{ secrets.HOST }}
USERNAME: ${{ secrets.USERNAME }}
PORT: ${{ secrets.PORT }}
KEY: ${{ secrets.KEY }}
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
key: ${{ secrets.KEY }}
source: "tests/a.txt,tests/b.txt"
target: "test"
```
@@ -98,17 +101,16 @@ Example configuration for ignore list:
```yaml
- name: copy file via ssh key
uses: appleboy/scp-action@master
env:
HOST: ${{ secrets.HOST }}
USERNAME: ${{ secrets.USERNAME }}
PORT: ${{ secrets.PORT }}
KEY: ${{ secrets.KEY }}
with:
host: ${{ secrets.HOST }}
username: ${{ secrets.USERNAME }}
port: ${{ secrets.PORT }}
key: ${{ secrets.KEY }}
source: "tests/*.txt,!tests/a.txt"
target: "test"
```
Example configuration for multiple server
Example configuration for multiple servers:
```diff
uses: appleboy/scp-action@master
@@ -122,7 +124,7 @@ Example configuration for multiple server
target: "test"
```
remove the specified number of leading path elements
Remove the specified number of leading path elements:
```yaml
- name: remove the specified number of leading path elements
@@ -137,7 +139,7 @@ remove the specified number of leading path elements
strip_components: 1
```
old target structure:
Old target structure:
```sh
foobar
@@ -146,7 +148,7 @@ foobar
└── b.txt
```
new target structure:
New target structure:
```sh
foobar

View File

@@ -23,6 +23,11 @@ inputs:
description: 'path of ssh private key'
passphrase:
description: 'ssh key passphrase'
fingerprint:
description: 'fingerprint SHA256 of the host public key, default is to skip verification'
use_insecure_cipher:
description: 'include more ciphers with use_insecure_cipher'
default: false
target:
description: 'target path on the server'
source:
@@ -30,6 +35,9 @@ inputs:
rm:
description: 'remove target folder before upload data'
default: false
debug:
description: 'enable debug message'
default: false
strip_components:
description: 'remove the specified number of leading path elements'
default: 0
@@ -56,6 +64,11 @@ inputs:
description: 'content of ssh proxy private key. ex raw content of ~/.ssh/id_rsa'
proxy_key_path:
description: 'path of ssh proxy private key'
proxy_fingerprint:
description: 'fingerprint SHA256 of the host public key, default is to skip verification'
proxy_use_insecure_cipher:
description: 'include more ciphers with use_insecure_cipher'
default: false
runs:
using: 'docker'
image: 'Dockerfile'

View File

@@ -2,8 +2,6 @@
set -eu
export GITHUB="true"
[ -n "$INPUT_STRIP_COMPONENTS" ] && export INPUT_STRIP_COMPONENTS=$((INPUT_STRIP_COMPONENTS + 0))
sh -c "/bin/drone-scp $*"