mirror of
				https://github.com/appleboy/drone-ssh.git
				synced 2025-11-01 01:00:11 +08:00 
			
		
		
		
	feat: add some testing.
This commit is contained in:
		
							parent
							
								
									ded90faebd
								
							
						
					
					
						commit
						a8165a9df5
					
				| @ -21,6 +21,7 @@ pipeline: | |||||||
|       TAGS: netgo |       TAGS: netgo | ||||||
|       GOPATH: /srv/app |       GOPATH: /srv/app | ||||||
|     commands: |     commands: | ||||||
|  |       - make ssh-server | ||||||
|       - make dep_install |       - make dep_install | ||||||
|       - make vet |       - make vet | ||||||
|       - make lint |       - make lint | ||||||
|  | |||||||
| @ -1 +1 @@ | |||||||
| eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2dpdGh1Yi5jb20vYXBwbGVib3kvZHJvbmUtc3NoCgpwaXBlbGluZToKICBjbG9uZToKICAgIGltYWdlOiBwbHVnaW5zL2dpdAogICAgdGFnczogdHJ1ZQoKICAjIHJlc3RvcmUgdGhlIGNhY2hlIGZyb20gYW4gc2Z0cCBzZXJ2ZXIKICByZXN0b3JlX2NhY2hlOgogICAgaW1hZ2U6IGFwcGxlYm95L2Ryb25lLXNmdHAtY2FjaGUKICAgIHJlc3RvcmU6IHRydWUKICAgIG1vdW50OiBbIC5nbGlkZSwgdmVuZG9yIF0KICAgIGlnbm9yZV9icmFuY2g6IHRydWUKCiAgdGVzdDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZwogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFRBR1M6IG5ldGdvCiAgICAgIEdPUEFUSDogL3Nydi9hcHAKICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2UgZGVwX2luc3RhbGwKICAgICAgLSBtYWtlIHZldAogICAgICAtIG1ha2UgbGludAogICAgICAtIG1ha2UgdGVzdAogICAgICAtIG1ha2UgY292ZXJhZ2UKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgICMgYnVpbGQgYmluYXJ5IGZvciBkb2NrZXIgaW1hZ2UKICAgICAgLSBtYWtlIHN0YXRpY19idWlsZAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IGFwcGxlYm95L2dvbGFuZy10ZXN0aW5nCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogbmV0Z28KICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSByZWxlYXNlCiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICBwdWJsaXNoX3RhZzoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogJHtEUk9ORV9SRVBPfQogICAgdGFnczogWyAnJHtEUk9ORV9UQUd9JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICBwdWJsaXNoX2xhdGVzdDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogJHtEUk9ORV9SRVBPfQogICAgdGFnczogWyAnbGF0ZXN0JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciBdCgogIHJlbGVhc2U6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogICMgcmVidWlsZCB0aGUgY2FjaGUgb24gdGhlIHNmdHAgc2VydmVyCiAgcmVidWlsZF9jYWNoZToKICAgIGltYWdlOiBhcHBsZWJveS9kcm9uZS1zZnRwLWNhY2hlCiAgICByZWJ1aWxkOiB0cnVlCiAgICBtb3VudDogWyAuZ2xpZGUsIHZlbmRvciBdCiAgICBpZ25vcmVfYnJhbmNoOiB0cnVlCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3Rlcgo.MvA91xJBP4JoAxLObpbaumlNtzjO_Gc3znDbTRUjAGY | eyJhbGciOiJIUzI1NiJ9.d29ya3NwYWNlOgogIGJhc2U6IC9zcnYvYXBwCiAgcGF0aDogc3JjL2dpdGh1Yi5jb20vYXBwbGVib3kvZHJvbmUtc3NoCgpwaXBlbGluZToKICBjbG9uZToKICAgIGltYWdlOiBwbHVnaW5zL2dpdAogICAgdGFnczogdHJ1ZQoKICAjIHJlc3RvcmUgdGhlIGNhY2hlIGZyb20gYW4gc2Z0cCBzZXJ2ZXIKICByZXN0b3JlX2NhY2hlOgogICAgaW1hZ2U6IGFwcGxlYm95L2Ryb25lLXNmdHAtY2FjaGUKICAgIHJlc3RvcmU6IHRydWUKICAgIG1vdW50OiBbIC5nbGlkZSwgdmVuZG9yIF0KICAgIGlnbm9yZV9icmFuY2g6IHRydWUKCiAgdGVzdDoKICAgIGltYWdlOiBhcHBsZWJveS9nb2xhbmctdGVzdGluZwogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIFRBR1M6IG5ldGdvCiAgICAgIEdPUEFUSDogL3Nydi9hcHAKICAgIGNvbW1hbmRzOgogICAgICAtIG1ha2Ugc3NoLXNlcnZlcgogICAgICAtIG1ha2UgZGVwX2luc3RhbGwKICAgICAgLSBtYWtlIHZldAogICAgICAtIG1ha2UgbGludAogICAgICAtIG1ha2UgdGVzdAogICAgICAtIG1ha2UgY292ZXJhZ2UKICAgICAgLSBtYWtlIGJ1aWxkCiAgICAgICMgYnVpbGQgYmluYXJ5IGZvciBkb2NrZXIgaW1hZ2UKICAgICAgLSBtYWtlIHN0YXRpY19idWlsZAogICAgd2hlbjoKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnLCBwdWxsX3JlcXVlc3QgXQoKICByZWxlYXNlOgogICAgaW1hZ2U6IGFwcGxlYm95L2dvbGFuZy10ZXN0aW5nCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgVEFHUzogbmV0Z28KICAgICAgR09QQVRIOiAvc3J2L2FwcAogICAgY29tbWFuZHM6CiAgICAgIC0gbWFrZSByZWxlYXNlCiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICBwdWJsaXNoX3RhZzoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogJHtEUk9ORV9SRVBPfQogICAgdGFnczogWyAnJHtEUk9ORV9UQUd9JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyB0YWcgXQogICAgICBicmFuY2g6IFsgcmVmcy90YWdzLyogXQoKICBwdWJsaXNoX2xhdGVzdDoKICAgIGltYWdlOiBwbHVnaW5zL2RvY2tlcgogICAgcmVwbzogJHtEUk9ORV9SRVBPfQogICAgdGFnczogWyAnbGF0ZXN0JyBdCiAgICB3aGVuOgogICAgICBldmVudDogWyBwdXNoIF0KICAgICAgYnJhbmNoOiBbIG1hc3RlciBdCgogIHJlbGVhc2U6CiAgICBpbWFnZTogcGx1Z2lucy9naXRodWItcmVsZWFzZQogICAgZmlsZXM6CiAgICAgIC0gZGlzdC9yZWxlYXNlLyoKICAgIHdoZW46CiAgICAgIGV2ZW50OiBbIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiBdCgogICMgcmVidWlsZCB0aGUgY2FjaGUgb24gdGhlIHNmdHAgc2VydmVyCiAgcmVidWlsZF9jYWNoZToKICAgIGltYWdlOiBhcHBsZWJveS9kcm9uZS1zZnRwLWNhY2hlCiAgICByZWJ1aWxkOiB0cnVlCiAgICBtb3VudDogWyAuZ2xpZGUsIHZlbmRvciBdCiAgICBpZ25vcmVfYnJhbmNoOiB0cnVlCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3Rlcgo.hxk64vDmuso-p3Efm2Q_2EqzUq8yohmwEMjh9KxgZiE | ||||||
							
								
								
									
										12
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								Makefile
									
									
									
									
									
								
							| @ -110,5 +110,17 @@ clean: | |||||||
| 	go clean -x -i ./... | 	go clean -x -i ./... | ||||||
| 	rm -rf coverage.txt $(EXECUTABLE) $(DIST) vendor | 	rm -rf coverage.txt $(EXECUTABLE) $(DIST) vendor | ||||||
| 
 | 
 | ||||||
|  | ssh-server: | ||||||
|  | 	adduser -h /home/drone-scp -s /bin/bash -D -S drone-scp | ||||||
|  | 	passwd -d drone-scp | ||||||
|  | 	mkdir -p /home/drone-scp/.ssh | ||||||
|  | 	chmod 700 /home/drone-scp/.ssh | ||||||
|  | 	cp tests/.ssh/id_rsa.pub /home/drone-scp/.ssh/authorized_keys | ||||||
|  | 	chown -R drone-scp /home/drone-scp/.ssh | ||||||
|  | 	# install ssh and start server | ||||||
|  | 	apk update && apk add openssh openrc | ||||||
|  | 	rm -rf /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_dsa_key | ||||||
|  | 	./tests/entrypoint.sh /usr/sbin/sshd -D & | ||||||
|  | 
 | ||||||
| version: | version: | ||||||
| 	@echo $(VERSION) | 	@echo $(VERSION) | ||||||
|  | |||||||
							
								
								
									
										13
									
								
								plugin.go
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								plugin.go
									
									
									
									
									
								
							| @ -15,6 +15,8 @@ import ( | |||||||
| const ( | const ( | ||||||
| 	missingHostOrUser    = "Error: missing server host or user" | 	missingHostOrUser    = "Error: missing server host or user" | ||||||
| 	missingPasswordOrKey = "Error: can't connect without a private SSH key or password" | 	missingPasswordOrKey = "Error: can't connect without a private SSH key or password" | ||||||
|  | 	unableConnectServer  = "Error: Failed to start a SSH session" | ||||||
|  | 	failParsePrivateKey  = "Error: Failed to parse private key" | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| type ( | type ( | ||||||
| @ -59,7 +61,7 @@ func (p Plugin) Exec() error { | |||||||
| 			signer, err := ssh.ParsePrivateKey([]byte(p.Config.Key)) | 			signer, err := ssh.ParsePrivateKey([]byte(p.Config.Key)) | ||||||
| 
 | 
 | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				return fmt.Errorf("Error: Failed to parse private key. %s", err) | 				return fmt.Errorf(failParsePrivateKey) | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			auths = append(auths, ssh.PublicKeys(signer)) | 			auths = append(auths, ssh.PublicKeys(signer)) | ||||||
| @ -80,15 +82,10 @@ func (p Plugin) Exec() error { | |||||||
| 		client, err := ssh.Dial("tcp", addr, config) | 		client, err := ssh.Dial("tcp", addr, config) | ||||||
| 
 | 
 | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			return fmt.Errorf("Error: Failed to dial to server. %s", err) | 			return fmt.Errorf(unableConnectServer) | ||||||
| 		} |  | ||||||
| 
 |  | ||||||
| 		session, err := client.NewSession() |  | ||||||
| 
 |  | ||||||
| 		if err != nil { |  | ||||||
| 			return fmt.Errorf("Error: Failed to start a SSH session. %s", err) |  | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
|  | 		session, _ := client.NewSession() | ||||||
| 		defer session.Close() | 		defer session.Close() | ||||||
| 
 | 
 | ||||||
| 		session.Stdout = os.Stdout | 		session.Stdout = os.Stdout | ||||||
|  | |||||||
| @ -28,3 +28,77 @@ func TestMissingKeyOrPassword(t *testing.T) { | |||||||
| 	assert.NotNil(t, err) | 	assert.NotNil(t, err) | ||||||
| 	assert.Equal(t, missingPasswordOrKey, err.Error()) | 	assert.Equal(t, missingPasswordOrKey, err.Error()) | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | func TestIncorrectPassword(t *testing.T) { | ||||||
|  | 	plugin := Plugin{ | ||||||
|  | 		Config: Config{ | ||||||
|  | 			Host:     []string{"localhost"}, | ||||||
|  | 			User:     "drone-scp", | ||||||
|  | 			Port:     22, | ||||||
|  | 			Password: "123456", | ||||||
|  | 			Script:   []string{"whoami"}, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	err := plugin.Exec() | ||||||
|  | 	assert.NotNil(t, err) | ||||||
|  | 	assert.Equal(t, unableConnectServer, err.Error()) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestFailParsePrivateKey(t *testing.T) { | ||||||
|  | 	plugin := Plugin{ | ||||||
|  | 		Config: Config{ | ||||||
|  | 			Host:   []string{"localhost"}, | ||||||
|  | 			User:   "drone-scp", | ||||||
|  | 			Port:   22, | ||||||
|  | 			Key:    "123456", | ||||||
|  | 			Script: []string{"whoami"}, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	err := plugin.Exec() | ||||||
|  | 	assert.NotNil(t, err) | ||||||
|  | 	assert.Equal(t, failParsePrivateKey, err.Error()) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestSSHScript(t *testing.T) { | ||||||
|  | 	plugin := Plugin{ | ||||||
|  | 		Config: Config{ | ||||||
|  | 			Host: []string{"localhost"}, | ||||||
|  | 			User: "drone-scp", | ||||||
|  | 			Port: 22, | ||||||
|  | 			Key: `-----BEGIN RSA PRIVATE KEY----- | ||||||
|  | MIIEpAIBAAKCAQEA4e2D/qPN08pzTac+a8ZmlP1ziJOXk45CynMPtva0rtK/RB26 | ||||||
|  | VbfAF0hIJji7ltvnYnqCU9oFfvEM33cTn7T96+od8ib/Vz25YU8ZbstqtIskPuwC | ||||||
|  | bv3K0mAHgsviJyRD7yM+QKTbBQEgbGuW6gtbMKhiYfiIB4Dyj7AdS/fk3v26wDgz | ||||||
|  | 7SHI5OBqu9bv1KhxQYdFEnU3PAtAqeccgzNpbH3eYLyGzuUxEIJlhpZ/uU2G9ppj | ||||||
|  | /cSrONVPiI8Ahi4RrlZjmP5l57/sq1ClGulyLpFcMw68kP5FikyqHpHJHRBNgU57 | ||||||
|  | 1y0Ph33SjBbs0haCIAcmreWEhGe+/OXnJe6VUQIDAQABAoIBAH97emORIm9DaVSD | ||||||
|  | 7mD6DqA7c5m5Tmpgd6eszU08YC/Vkz9oVuBPUwDQNIX8tT0m0KVs42VVPIyoj874 | ||||||
|  | bgZMJoucC1G8V5Bur9AMxhkShx9g9A7dNXJTmsKilRpk2TOk7wBdLp9jZoKoZBdJ | ||||||
|  | jlp6FfaazQjjKD6zsCsMATwAoRCBpBNsmT6QDN0n0bIgY0tE6YGQaDdka0dAv68G | ||||||
|  | R0VZrcJ9voT6+f+rgJLoojn2DAu6iXaM99Gv8FK91YCymbQlXXgrk6CyS0IHexN7 | ||||||
|  | V7a3k767KnRbrkqd3o6JyNun/CrUjQwHs1IQH34tvkWScbseRaFehcAm6mLT93RP | ||||||
|  | muauvMECgYEA9AXGtfDMse0FhvDPZx4mx8x+vcfsLvDHcDLkf/lbyPpu97C27b/z | ||||||
|  | ia07bu5TAXesUZrWZtKA5KeRE5doQSdTOv1N28BEr8ZwzDJwfn0DPUYUOxsN2iIy | ||||||
|  | MheO5A45Ko7bjKJVkZ61Mb1UxtqCTF9mqu9R3PBdJGthWOd+HUvF460CgYEA7QRf | ||||||
|  | Z8+vpGA+eSuu29e0xgRKnRzed5zXYpcI4aERc3JzBgO4Z0er9G8l66OWVGdMfpe6 | ||||||
|  | CBajC5ToIiT8zqoYxXwqJgN+glir4gJe3mm8J703QfArZiQrdk0NTi5bY7+vLLG/ | ||||||
|  | knTrtpdsKih6r3kjhuPPaAsIwmMxIydFvATKjLUCgYEAh/y4EihRSk5WKC8GxeZt | ||||||
|  | oiZ58vT4z+fqnMIfyJmD5up48JuQNcokw/LADj/ODiFM7GUnWkGxBrvDA3H67WQm | ||||||
|  | 49bJjs8E+BfUQFdTjYnJRlpJZ+7Zt1gbNQMf5ENw5CCchTDqEq6pN0DVf8PBnSIF | ||||||
|  | KvkXW9KvdV5J76uCAn15mDkCgYA1y8dHzbjlCz9Cy2pt1aDfTPwOew33gi7U3skS | ||||||
|  | RTerx29aDyAcuQTLfyrROBkX4TZYiWGdEl5Bc7PYhCKpWawzrsH2TNa7CRtCOh2E | ||||||
|  | R+V/84+GNNf04ALJYCXD9/ugQVKmR1XfDRCvKeFQFE38Y/dvV2etCswbKt5tRy2p | ||||||
|  | xkCe/QKBgQCkLqafD4S20YHf6WTp3jp/4H/qEy2X2a8gdVVBi1uKkGDXr0n+AoVU | ||||||
|  | ib4KbP5ovZlrjL++akMQ7V2fHzuQIFWnCkDA5c2ZAqzlM+ZN+HRG7gWur7Bt4XH1 | ||||||
|  | 7XC9wlRna4b3Ln8ew3q1ZcBjXwD4ppbTlmwAfQIaZTGJUgQbdsO9YA== | ||||||
|  | -----END RSA PRIVATE KEY----- | ||||||
|  | `, | ||||||
|  | 			Script: []string{"whoami"}, | ||||||
|  | 		}, | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	err := plugin.Exec() | ||||||
|  | 	assert.Nil(t, err) | ||||||
|  | } | ||||||
|  | |||||||
							
								
								
									
										27
									
								
								tests/.ssh/id_rsa
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								tests/.ssh/id_rsa
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | |||||||
|  | -----BEGIN RSA PRIVATE KEY----- | ||||||
|  | MIIEpAIBAAKCAQEA4e2D/qPN08pzTac+a8ZmlP1ziJOXk45CynMPtva0rtK/RB26 | ||||||
|  | VbfAF0hIJji7ltvnYnqCU9oFfvEM33cTn7T96+od8ib/Vz25YU8ZbstqtIskPuwC | ||||||
|  | bv3K0mAHgsviJyRD7yM+QKTbBQEgbGuW6gtbMKhiYfiIB4Dyj7AdS/fk3v26wDgz | ||||||
|  | 7SHI5OBqu9bv1KhxQYdFEnU3PAtAqeccgzNpbH3eYLyGzuUxEIJlhpZ/uU2G9ppj | ||||||
|  | /cSrONVPiI8Ahi4RrlZjmP5l57/sq1ClGulyLpFcMw68kP5FikyqHpHJHRBNgU57 | ||||||
|  | 1y0Ph33SjBbs0haCIAcmreWEhGe+/OXnJe6VUQIDAQABAoIBAH97emORIm9DaVSD | ||||||
|  | 7mD6DqA7c5m5Tmpgd6eszU08YC/Vkz9oVuBPUwDQNIX8tT0m0KVs42VVPIyoj874 | ||||||
|  | bgZMJoucC1G8V5Bur9AMxhkShx9g9A7dNXJTmsKilRpk2TOk7wBdLp9jZoKoZBdJ | ||||||
|  | jlp6FfaazQjjKD6zsCsMATwAoRCBpBNsmT6QDN0n0bIgY0tE6YGQaDdka0dAv68G | ||||||
|  | R0VZrcJ9voT6+f+rgJLoojn2DAu6iXaM99Gv8FK91YCymbQlXXgrk6CyS0IHexN7 | ||||||
|  | V7a3k767KnRbrkqd3o6JyNun/CrUjQwHs1IQH34tvkWScbseRaFehcAm6mLT93RP | ||||||
|  | muauvMECgYEA9AXGtfDMse0FhvDPZx4mx8x+vcfsLvDHcDLkf/lbyPpu97C27b/z | ||||||
|  | ia07bu5TAXesUZrWZtKA5KeRE5doQSdTOv1N28BEr8ZwzDJwfn0DPUYUOxsN2iIy | ||||||
|  | MheO5A45Ko7bjKJVkZ61Mb1UxtqCTF9mqu9R3PBdJGthWOd+HUvF460CgYEA7QRf | ||||||
|  | Z8+vpGA+eSuu29e0xgRKnRzed5zXYpcI4aERc3JzBgO4Z0er9G8l66OWVGdMfpe6 | ||||||
|  | CBajC5ToIiT8zqoYxXwqJgN+glir4gJe3mm8J703QfArZiQrdk0NTi5bY7+vLLG/ | ||||||
|  | knTrtpdsKih6r3kjhuPPaAsIwmMxIydFvATKjLUCgYEAh/y4EihRSk5WKC8GxeZt | ||||||
|  | oiZ58vT4z+fqnMIfyJmD5up48JuQNcokw/LADj/ODiFM7GUnWkGxBrvDA3H67WQm | ||||||
|  | 49bJjs8E+BfUQFdTjYnJRlpJZ+7Zt1gbNQMf5ENw5CCchTDqEq6pN0DVf8PBnSIF | ||||||
|  | KvkXW9KvdV5J76uCAn15mDkCgYA1y8dHzbjlCz9Cy2pt1aDfTPwOew33gi7U3skS | ||||||
|  | RTerx29aDyAcuQTLfyrROBkX4TZYiWGdEl5Bc7PYhCKpWawzrsH2TNa7CRtCOh2E | ||||||
|  | R+V/84+GNNf04ALJYCXD9/ugQVKmR1XfDRCvKeFQFE38Y/dvV2etCswbKt5tRy2p | ||||||
|  | xkCe/QKBgQCkLqafD4S20YHf6WTp3jp/4H/qEy2X2a8gdVVBi1uKkGDXr0n+AoVU | ||||||
|  | ib4KbP5ovZlrjL++akMQ7V2fHzuQIFWnCkDA5c2ZAqzlM+ZN+HRG7gWur7Bt4XH1 | ||||||
|  | 7XC9wlRna4b3Ln8ew3q1ZcBjXwD4ppbTlmwAfQIaZTGJUgQbdsO9YA== | ||||||
|  | -----END RSA PRIVATE KEY----- | ||||||
							
								
								
									
										1
									
								
								tests/.ssh/id_rsa.pub
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								tests/.ssh/id_rsa.pub
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | |||||||
|  | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDh7YP+o83TynNNpz5rxmaU/XOIk5eTjkLKcw+29rSu0r9EHbpVt8AXSEgmOLuW2+dieoJT2gV+8QzfdxOftP3r6h3yJv9XPblhTxluy2q0iyQ+7AJu/crSYAeCy+InJEPvIz5ApNsFASBsa5bqC1swqGJh+IgHgPKPsB1L9+Te/brAODPtIcjk4Gq71u/UqHFBh0USdTc8C0Cp5xyDM2lsfd5gvIbO5TEQgmWGln+5TYb2mmP9xKs41U+IjwCGLhGuVmOY/mXnv+yrUKUa6XIukVwzDryQ/kWKTKoekckdEE2BTnvXLQ+HfdKMFuzSFoIgByat5YSEZ7785ecl7pVR drone-scp@localhost | ||||||
							
								
								
									
										13
									
								
								tests/entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								tests/entrypoint.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | if [ ! -f "/etc/ssh/ssh_host_rsa_key" ]; then | ||||||
|  |   # generate fresh rsa key | ||||||
|  |   ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [ ! -f "/etc/ssh/ssh_host_dsa_key" ]; then | ||||||
|  |   # generate fresh dsa key | ||||||
|  |   ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | exec "$@" | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Bo-Yi Wu
						Bo-Yi Wu