fix(sudo): support request_pty to execute sudo command (#288)
- Add a new job called `testing05` to the CI workflow - Update the base image in the Dockerfile from `1.7.2` to `1.7.3` - Update the action name, description, and author in the action.yml file - Update the descriptions for various inputs in the action.yml file - Add a new input `request_pty` with a description in the action.yml file - Update the `using` and `image` fields in the action.yml file - Update the `using` and `image` fields in the runs section of the action.yml file - Update the `icon` and `color` fields in the branding section of the action.yml file Signed-off-by: Bo-Yi Wu <appleboy.tw@gmail.com>
This commit is contained in:
parent
2451745138
commit
d134a26a1f
21
.github/workflows/ci.yml
vendored
21
.github/workflows/ci.yml
vendored
@ -261,3 +261,24 @@ jobs:
|
||||
script_stop: true
|
||||
script: |
|
||||
echo ${{ secrets.DOCKERHUB_TOKEN }} | docker login -u ${{ secrets.DOCKERHUB_USERNAME }} --password-stdin
|
||||
|
||||
testing05:
|
||||
name: switch user
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@v1
|
||||
|
||||
- name: switch to root user
|
||||
uses: ./
|
||||
with:
|
||||
host: ${{ secrets.HOST }}
|
||||
username: ${{ secrets.USERNAME }}
|
||||
key: ${{ secrets.KEY }}
|
||||
port: ${{ secrets.PORT }}
|
||||
script_stop: true
|
||||
request_pty: true
|
||||
command_timeout: 30s
|
||||
script: |
|
||||
whoami && echo 'hello world' && touch todo.txt
|
||||
sudo whoami
|
||||
|
@ -1,4 +1,4 @@
|
||||
FROM ghcr.io/appleboy/drone-ssh:1.7.2
|
||||
FROM ghcr.io/appleboy/drone-ssh:1.7.3
|
||||
|
||||
COPY entrypoint.sh /bin/entrypoint.sh
|
||||
|
||||
|
76
action.yml
76
action.yml
@ -1,76 +1,78 @@
|
||||
name: 'SSH Remote Commands'
|
||||
description: 'Executing remote ssh commands'
|
||||
author: 'Bo-Yi Wu'
|
||||
name: "SSH Remote Commands"
|
||||
description: "Executing remote ssh commands"
|
||||
author: "Bo-Yi Wu"
|
||||
inputs:
|
||||
host:
|
||||
description: 'SSH host address.'
|
||||
description: "SSH host address."
|
||||
port:
|
||||
description: 'SSH port number.'
|
||||
description: "SSH port number."
|
||||
default: "22"
|
||||
passphrase:
|
||||
description: 'Passphrase for the SSH key.'
|
||||
description: "Passphrase for the SSH key."
|
||||
username:
|
||||
description: 'SSH username.'
|
||||
description: "SSH username."
|
||||
password:
|
||||
description: 'SSH password.'
|
||||
description: "SSH password."
|
||||
sync:
|
||||
description: 'Enable synchronous execution if multiple hosts are involved.'
|
||||
description: "Enable synchronous execution if multiple hosts are involved."
|
||||
use_insecure_cipher:
|
||||
description: 'Include more ciphers by using insecure ciphers.'
|
||||
description: "Include more ciphers by using insecure ciphers."
|
||||
cipher:
|
||||
description: 'Allowed cipher algorithms. If unspecified, a sensible default is used.'
|
||||
description: "Allowed cipher algorithms. If unspecified, a sensible default is used."
|
||||
timeout:
|
||||
description: 'Timeout duration for establishing SSH connection to the host.'
|
||||
description: "Timeout duration for establishing SSH connection to the host."
|
||||
default: "30s"
|
||||
command_timeout:
|
||||
description: 'Timeout duration for SSH commands execution.'
|
||||
description: "Timeout duration for SSH commands execution."
|
||||
default: "10m"
|
||||
key:
|
||||
description: 'Content of the SSH private key. For example, the raw content of ~/.ssh/id_rsa.'
|
||||
description: "Content of the SSH private key. For example, the raw content of ~/.ssh/id_rsa."
|
||||
key_path:
|
||||
description: 'Path to the SSH private key file.'
|
||||
description: "Path to the SSH private key file."
|
||||
fingerprint:
|
||||
description: 'SHA256 fingerprint of the host public key.'
|
||||
description: "SHA256 fingerprint of the host public key."
|
||||
proxy_host:
|
||||
description: 'SSH proxy host address.'
|
||||
description: "SSH proxy host address."
|
||||
proxy_port:
|
||||
description: 'SSH proxy port number.'
|
||||
description: "SSH proxy port number."
|
||||
default: "22"
|
||||
proxy_username:
|
||||
description: 'SSH proxy username.'
|
||||
description: "SSH proxy username."
|
||||
proxy_password:
|
||||
description: 'SSH proxy password.'
|
||||
description: "SSH proxy password."
|
||||
proxy_passphrase:
|
||||
description: 'SSH proxy key passphrase.'
|
||||
description: "SSH proxy key passphrase."
|
||||
proxy_timeout:
|
||||
description: 'Timeout duration for establishing SSH connection to the proxy host.'
|
||||
description: "Timeout duration for establishing SSH connection to the proxy host."
|
||||
default: "30s"
|
||||
proxy_key:
|
||||
description: 'Content of the SSH proxy private key. For example, the raw content of ~/.ssh/id_rsa.'
|
||||
description: "Content of the SSH proxy private key. For example, the raw content of ~/.ssh/id_rsa."
|
||||
proxy_key_path:
|
||||
description: 'Path to the SSH proxy private key file.'
|
||||
description: "Path to the SSH proxy private key file."
|
||||
proxy_fingerprint:
|
||||
description: 'SHA256 fingerprint of the proxy host public key.'
|
||||
description: "SHA256 fingerprint of the proxy host public key."
|
||||
proxy_cipher:
|
||||
description: 'Allowed cipher algorithms for the proxy. If unspecified, a sensible default is used.'
|
||||
description: "Allowed cipher algorithms for the proxy. If unspecified, a sensible default is used."
|
||||
proxy_use_insecure_cipher:
|
||||
description: 'Include more ciphers for the proxy by using insecure ciphers.'
|
||||
description: "Include more ciphers for the proxy by using insecure ciphers."
|
||||
script:
|
||||
description: 'Commands to be executed.'
|
||||
description: "Commands to be executed."
|
||||
script_stop:
|
||||
description: 'Stop the script after the first failure.'
|
||||
description: "Stop the script after the first failure."
|
||||
envs:
|
||||
description: 'Environment variables to be passed to the shell script.'
|
||||
description: "Environment variables to be passed to the shell script."
|
||||
envs_format:
|
||||
description: 'Flexible configuration for environment value transfer.'
|
||||
description: "Flexible configuration for environment value transfer."
|
||||
debug:
|
||||
description: 'Enable debug mode.'
|
||||
description: "Enable debug mode."
|
||||
allenvs:
|
||||
description: 'pass all environment variable to shell script.'
|
||||
description: "pass all environment variable to shell script."
|
||||
request_pty:
|
||||
description: "Request a pseudo-terminal from the server."
|
||||
runs:
|
||||
using: 'docker'
|
||||
image: 'Dockerfile'
|
||||
using: "docker"
|
||||
image: "Dockerfile"
|
||||
|
||||
branding:
|
||||
icon: 'terminal'
|
||||
color: 'gray-dark'
|
||||
icon: "terminal"
|
||||
color: "gray-dark"
|
||||
|
Loading…
Reference in New Issue
Block a user