mirror of
https://github.com/appleboy/drone-ssh.git
synced 2025-07-05 22:02:49 +08:00
parent
7871a8e9f5
commit
833d26f473
10
DOCS.md
10
DOCS.md
@ -15,7 +15,7 @@ pipeline:
|
|||||||
ssh:
|
ssh:
|
||||||
image: appleboy/drone-ssh
|
image: appleboy/drone-ssh
|
||||||
host: foo.com
|
host: foo.com
|
||||||
user: root
|
username: root
|
||||||
password: 1234
|
password: 1234
|
||||||
port: 22
|
port: 22
|
||||||
script:
|
script:
|
||||||
@ -32,7 +32,7 @@ pipeline:
|
|||||||
host:
|
host:
|
||||||
+ - foo.com
|
+ - foo.com
|
||||||
+ - bar.com
|
+ - bar.com
|
||||||
user: root
|
username: root
|
||||||
port: 22
|
port: 22
|
||||||
script:
|
script:
|
||||||
- echo hello
|
- echo hello
|
||||||
@ -46,7 +46,7 @@ pipeline:
|
|||||||
ssh:
|
ssh:
|
||||||
image: appleboy/drone-ssh
|
image: appleboy/drone-ssh
|
||||||
host: foo.com
|
host: foo.com
|
||||||
user: root
|
username: root
|
||||||
password: 1234
|
password: 1234
|
||||||
port: 22
|
port: 22
|
||||||
script:
|
script:
|
||||||
@ -63,7 +63,7 @@ pipeline:
|
|||||||
ssh:
|
ssh:
|
||||||
image: appleboy/drone-ssh
|
image: appleboy/drone-ssh
|
||||||
host: foo.com
|
host: foo.com
|
||||||
user: root
|
username: root
|
||||||
password: 1234
|
password: 1234
|
||||||
port: 22
|
port: 22
|
||||||
script:
|
script:
|
||||||
@ -82,7 +82,7 @@ host
|
|||||||
port
|
port
|
||||||
: ssh port of target host
|
: ssh port of target host
|
||||||
|
|
||||||
user
|
username
|
||||||
: account for target host user
|
: account for target host user
|
||||||
|
|
||||||
password
|
password
|
||||||
|
@ -42,7 +42,7 @@ Execute from the working directory:
|
|||||||
```sh
|
```sh
|
||||||
docker run --rm \
|
docker run --rm \
|
||||||
-e PLUGIN_HOST=foo.com \
|
-e PLUGIN_HOST=foo.com \
|
||||||
-e PLUGIN_USER=root \
|
-e PLUGIN_USERNAME=root \
|
||||||
-e PLUGIN_KEY="$(cat ${HOME}/.ssh/id_rsa)" \
|
-e PLUGIN_KEY="$(cat ${HOME}/.ssh/id_rsa)" \
|
||||||
-e PLUGIN_SCRIPT=whoami \
|
-e PLUGIN_SCRIPT=whoami \
|
||||||
-v $(pwd):$(pwd) \
|
-v $(pwd):$(pwd) \
|
||||||
|
6
main.go
6
main.go
@ -36,9 +36,9 @@ func main() {
|
|||||||
EnvVar: "PLUGIN_KEY_PATH,SSH_KEY_PATH",
|
EnvVar: "PLUGIN_KEY_PATH,SSH_KEY_PATH",
|
||||||
},
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
Name: "user,u",
|
Name: "username,user,u",
|
||||||
Usage: "connect as user",
|
Usage: "connect as user",
|
||||||
EnvVar: "PLUGIN_USER,SSH_USER",
|
EnvVar: "PLUGIN_USERNAME,PLUGIN_USER,SSH_USERNAME",
|
||||||
Value: "root",
|
Value: "root",
|
||||||
},
|
},
|
||||||
cli.StringFlag{
|
cli.StringFlag{
|
||||||
@ -118,7 +118,7 @@ func run(c *cli.Context) error {
|
|||||||
Config: Config{
|
Config: Config{
|
||||||
Key: c.String("ssh-key"),
|
Key: c.String("ssh-key"),
|
||||||
KeyPath: c.String("key-path"),
|
KeyPath: c.String("key-path"),
|
||||||
User: c.String("user"),
|
UserName: c.String("user"),
|
||||||
Password: c.String("password"),
|
Password: c.String("password"),
|
||||||
Host: c.StringSlice("host"),
|
Host: c.StringSlice("host"),
|
||||||
Port: c.Int("port"),
|
Port: c.Int("port"),
|
||||||
|
@ -23,7 +23,7 @@ type (
|
|||||||
Config struct {
|
Config struct {
|
||||||
Key string
|
Key string
|
||||||
KeyPath string
|
KeyPath string
|
||||||
User string
|
UserName string
|
||||||
Password string
|
Password string
|
||||||
Host []string
|
Host []string
|
||||||
Port int
|
Port int
|
||||||
@ -43,7 +43,7 @@ func (p Plugin) log(host string, message ...interface{}) {
|
|||||||
|
|
||||||
// Exec executes the plugin.
|
// Exec executes the plugin.
|
||||||
func (p Plugin) Exec() error {
|
func (p Plugin) Exec() error {
|
||||||
if len(p.Config.Host) == 0 && p.Config.User == "" {
|
if len(p.Config.Host) == 0 && p.Config.UserName == "" {
|
||||||
return fmt.Errorf(missingHostOrUser)
|
return fmt.Errorf(missingHostOrUser)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ func (p Plugin) Exec() error {
|
|||||||
// Create MakeConfig instance with remote username, server address and path to private key.
|
// Create MakeConfig instance with remote username, server address and path to private key.
|
||||||
ssh := &easyssh.MakeConfig{
|
ssh := &easyssh.MakeConfig{
|
||||||
Server: host,
|
Server: host,
|
||||||
User: p.Config.User,
|
User: p.Config.UserName,
|
||||||
Password: p.Config.Password,
|
Password: p.Config.Password,
|
||||||
Port: strconv.Itoa(p.Config.Port),
|
Port: strconv.Itoa(p.Config.Port),
|
||||||
Key: p.Config.Key,
|
Key: p.Config.Key,
|
||||||
|
@ -19,7 +19,7 @@ func TestMissingKeyOrPassword(t *testing.T) {
|
|||||||
plugin := Plugin{
|
plugin := Plugin{
|
||||||
Config{
|
Config{
|
||||||
Host: []string{"localhost"},
|
Host: []string{"localhost"},
|
||||||
User: "ubuntu",
|
UserName: "ubuntu",
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -33,7 +33,7 @@ func TestIncorrectPassword(t *testing.T) {
|
|||||||
plugin := Plugin{
|
plugin := Plugin{
|
||||||
Config: Config{
|
Config: Config{
|
||||||
Host: []string{"localhost"},
|
Host: []string{"localhost"},
|
||||||
User: "drone-scp",
|
UserName: "drone-scp",
|
||||||
Port: 22,
|
Port: 22,
|
||||||
Password: "123456",
|
Password: "123456",
|
||||||
Script: []string{"whoami"},
|
Script: []string{"whoami"},
|
||||||
@ -48,7 +48,7 @@ func TestSSHScriptFromRawKey(t *testing.T) {
|
|||||||
plugin := Plugin{
|
plugin := Plugin{
|
||||||
Config: Config{
|
Config: Config{
|
||||||
Host: []string{"localhost"},
|
Host: []string{"localhost"},
|
||||||
User: "drone-scp",
|
UserName: "drone-scp",
|
||||||
Port: 22,
|
Port: 22,
|
||||||
Key: `-----BEGIN RSA PRIVATE KEY-----
|
Key: `-----BEGIN RSA PRIVATE KEY-----
|
||||||
MIIEpAIBAAKCAQEA4e2D/qPN08pzTac+a8ZmlP1ziJOXk45CynMPtva0rtK/RB26
|
MIIEpAIBAAKCAQEA4e2D/qPN08pzTac+a8ZmlP1ziJOXk45CynMPtva0rtK/RB26
|
||||||
@ -90,7 +90,7 @@ func TestSSHScriptFromKeyFile(t *testing.T) {
|
|||||||
plugin := Plugin{
|
plugin := Plugin{
|
||||||
Config: Config{
|
Config: Config{
|
||||||
Host: []string{"localhost", "127.0.0.1"},
|
Host: []string{"localhost", "127.0.0.1"},
|
||||||
User: "drone-scp",
|
UserName: "drone-scp",
|
||||||
Port: 22,
|
Port: 22,
|
||||||
KeyPath: "./tests/.ssh/id_rsa",
|
KeyPath: "./tests/.ssh/id_rsa",
|
||||||
Script: []string{"whoami", "ls -al"},
|
Script: []string{"whoami", "ls -al"},
|
||||||
|
Loading…
Reference in New Issue
Block a user