Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
1d1b21ca96 | |||
9fb11fb1f5 | |||
fd39ef0f18 | |||
ffff33f8fe | |||
8bd4933b73 | |||
bf84735fa9 | |||
d09b6e0211 | |||
3ac4675689 | |||
269a4479eb | |||
a2f91cbad1 |
32
.github/workflows/ci.yml
vendored
32
.github/workflows/ci.yml
vendored
@ -100,5 +100,35 @@ jobs:
|
|||||||
username: ${{ secrets.USERNAME }}
|
username: ${{ secrets.USERNAME }}
|
||||||
password: ${{ secrets.PASSWORD }}
|
password: ${{ secrets.PASSWORD }}
|
||||||
port: ${{ secrets.PORT }}
|
port: ${{ secrets.PORT }}
|
||||||
script: whoami
|
script: |
|
||||||
|
ls \
|
||||||
|
-lah
|
||||||
|
use_insecure_cipher: true
|
||||||
|
|
||||||
|
# https://github.com/appleboy/ssh-action/issues/75#issuecomment-668314271
|
||||||
|
- name: Multiline SSH commands interpreted as single lines
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
host: ${{ secrets.HOST }}
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
password: ${{ secrets.PASSWORD }}
|
||||||
|
port: ${{ secrets.PORT }}
|
||||||
|
script_stop: true
|
||||||
|
script: |
|
||||||
|
ls \
|
||||||
|
-lah
|
||||||
|
use_insecure_cipher: true
|
||||||
|
|
||||||
|
# https://github.com/appleboy/ssh-action/issues/85
|
||||||
|
- name: Deployment to multiple hosts with different ports
|
||||||
|
uses: ./
|
||||||
|
with:
|
||||||
|
host: "${{ secrets.HOST }}:${{ secrets.PORT }}"
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
password: ${{ secrets.PASSWORD }}
|
||||||
|
port: 1024
|
||||||
|
script_stop: true
|
||||||
|
script: |
|
||||||
|
ls \
|
||||||
|
-lah
|
||||||
use_insecure_cipher: true
|
use_insecure_cipher: true
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
FROM appleboy/drone-ssh:1.6.1-linux-amd64
|
FROM appleboy/drone-ssh:1.6.3-linux-amd64
|
||||||
|
|
||||||
ADD entrypoint.sh /entrypoint.sh
|
ADD entrypoint.sh /entrypoint.sh
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
|
41
README.md
41
README.md
@ -79,6 +79,30 @@ SSH Proxy Setting:
|
|||||||
* proxy_use_insecure_cipher - include more ciphers with use_insecure_cipher (see [#56](https://github.com/appleboy/ssh-action/issues/56))
|
* proxy_use_insecure_cipher - include more ciphers with use_insecure_cipher (see [#56](https://github.com/appleboy/ssh-action/issues/56))
|
||||||
* proxy_cipher - the allowed cipher algorithms. If unspecified then a sensible
|
* proxy_cipher - the allowed cipher algorithms. If unspecified then a sensible
|
||||||
|
|
||||||
|
### Setting up SSH Key
|
||||||
|
|
||||||
|
Make sure to follow the below steps while creating SSH Keys and using them.
|
||||||
|
The best practice is create the SSH Keys on local machine not remote machine.
|
||||||
|
Login with username specified in Github Secrets. Generate a RSA Key-Pair:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
|
||||||
|
```
|
||||||
|
|
||||||
|
Add newly generated key into Authorized keys. Read more about authorized keys [here](https://www.ssh.com/ssh/authorized_keys/).
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cat .ssh/id_rsa.pub | ssh b@B 'cat >> .ssh/authorized_keys'
|
||||||
|
```
|
||||||
|
|
||||||
|
Copy Private Key content and paste in Github Secrets.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
clip < ~/.ssh/id_rsa
|
||||||
|
```
|
||||||
|
|
||||||
|
See the detail information about [SSH login without password](http://www.linuxproblem.org/art_9.html)
|
||||||
|
|
||||||
### Example
|
### Example
|
||||||
|
|
||||||
Executing remote ssh commands using password.
|
Executing remote ssh commands using password.
|
||||||
@ -140,6 +164,21 @@ Multiple Hosts
|
|||||||
ls -al
|
ls -al
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Multiple Hosts with differebt port
|
||||||
|
|
||||||
|
```diff
|
||||||
|
- name: multiple host
|
||||||
|
uses: appleboy/ssh-action@master
|
||||||
|
with:
|
||||||
|
- host: "foo.com"
|
||||||
|
+ host: "foo.com:1234,bar.com:5678"
|
||||||
|
username: ${{ secrets.USERNAME }}
|
||||||
|
key: ${{ secrets.KEY }}
|
||||||
|
script: |
|
||||||
|
whoami
|
||||||
|
ls -al
|
||||||
|
```
|
||||||
|
|
||||||
Synchronous execution on multiple hosts
|
Synchronous execution on multiple hosts
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
@ -177,6 +216,8 @@ Pass environment variable to shell script
|
|||||||
echo "sha: $SHA"
|
echo "sha: $SHA"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
_Inside `env` object, you need to pass every environment variable as a string, passing `Integer` data type or any other may output unexpected results._
|
||||||
|
|
||||||
Stop script after first failure. ex: missing `abc` folder
|
Stop script after first failure. ex: missing `abc` folder
|
||||||
|
|
||||||
```diff
|
```diff
|
||||||
|
Reference in New Issue
Block a user