13 Commits

Author SHA1 Message Date
1d1b21ca96 Support multiple host with different port (#94)
Some checks failed
remote ssh command / Build (push) Failing after 3s
2020-11-17 10:51:06 +08:00
9fb11fb1f5 chore(host): support multiple port
https://github.com/appleboy/ssh-action/issues/85

Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-11-17 10:20:18 +08:00
fd39ef0f18 Update README.md 2020-10-31 07:03:29 +08:00
ffff33f8fe docs: update readme 2020-08-13 01:06:27 +08:00
8bd4933b73 Instructions to use SSH Key (#77) 2020-08-13 01:03:55 +08:00
bf84735fa9 fix: Multiline SSH commands interpreted as single lines
Some checks failed
remote ssh command / Build (push) Failing after 5s
fix https://github.com/appleboy/ssh-action/issues/75
2020-08-08 15:39:00 +08:00
d09b6e0211 chore: try the latest version 2020-08-08 15:34:38 +08:00
3ac4675689 chore: Add Multiline SSH commands interpreted as single lines 2020-08-08 12:26:01 +08:00
269a4479eb chore: Multiline SSH commands interpreted as single lines 2020-08-03 22:15:09 +08:00
a2f91cbad1 (info) Pass env variable as string (#69) 2020-07-08 16:46:24 +08:00
e2cbea5f00 chore: bump drone-ssh to v1.6.1 (#63)
Some checks failed
remote ssh command / Build (push) Failing after 4s
Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
2020-06-15 16:45:26 +08:00
5711a203b3 fix typo 2020-06-05 09:05:02 +08:00
b315fb5f98 Update README.md 2020-06-05 09:03:15 +08:00
3 changed files with 74 additions and 3 deletions

View File

@ -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

View File

@ -1,4 +1,4 @@
FROM appleboy/drone-ssh:1.6.0-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

View File

@ -6,7 +6,7 @@
[![Actions Status](https://github.com/appleboy/ssh-action/workflows/remote%20ssh%20command/badge.svg)](https://github.com/appleboy/ssh-action/actions) [![Actions Status](https://github.com/appleboy/ssh-action/workflows/remote%20ssh%20command/badge.svg)](https://github.com/appleboy/ssh-action/actions)
**Importment**: Only support **Linux** container. **Important**: Only support **Linux** [docker](https://www.docker.com/) container.
## Usage ## Usage
@ -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