capistrano-one_time_key 0.0.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cc4be8c2de3122934117151da242aba35f59dd5ab325a293ec22c3c87d20b0ac
|
4
|
+
data.tar.gz: 7f236f40b4b78e727a834d49d1a552e52e603b51cd22d70c126e730504f21b36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a02232091ebbdfbc49f950fbf91196d1cfbcd9ead3843ede86b53a94feac1a58797afed02a2ed696987c4d834fe78da336576993c36f665377188b4fe3c334ab
|
7
|
+
data.tar.gz: de622be669fdd154632b13f07fd8593d036931ae12562f1308b7afdbda7f919a5170fc3af99f108c0856af733f9d052bd47952d0c609268bf45fee98a764d8d4
|
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
|
|
19
19
|
|
20
20
|
spec.add_dependency "capistrano", "~> 3.0"
|
21
21
|
|
22
|
-
spec.add_development_dependency "bundler", "~>
|
22
|
+
spec.add_development_dependency "bundler", "~> 2"
|
23
23
|
spec.add_development_dependency "rake"
|
24
24
|
spec.add_development_dependency "rspec"
|
25
25
|
end
|
@@ -18,14 +18,17 @@ module Capistrano
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def self.generate_private_key!
|
21
|
-
`ssh-keygen -f #{temporary_ssh_private_key_path} -N "" -C "#{comment}"`
|
21
|
+
`ssh-keygen -m PEM -f #{temporary_ssh_private_key_path} -N "" -C "#{comment}"`
|
22
22
|
return temporary_ssh_private_key_path
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
25
|
def self.generate_one_time_key!
|
26
|
-
|
26
|
+
# This is a no-op because it's called everywhere.
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.use_one_time_key!
|
27
30
|
path = generate_private_key!
|
28
|
-
|
31
|
+
|
29
32
|
public_key = File.read("#{path}.pub")
|
30
33
|
|
31
34
|
on roles(:all) do |host|
|
@@ -34,11 +37,11 @@ module Capistrano
|
|
34
37
|
|
35
38
|
at_exit do
|
36
39
|
# remove dirname locally
|
37
|
-
FileUtils.remove_entry Capistrano::OneTimeKey.
|
40
|
+
FileUtils.remove_entry Capistrano::OneTimeKey.tmpdir
|
38
41
|
on roles(:all) do |host|
|
39
42
|
Capistrano::OneTimeKey.remove_key_from_host host, public_key
|
40
43
|
end
|
41
|
-
end
|
44
|
+
end
|
42
45
|
end
|
43
46
|
|
44
47
|
def self.add_key_to_host capistrano_host, public_key
|
@@ -50,7 +53,7 @@ module Capistrano
|
|
50
53
|
end
|
51
54
|
|
52
55
|
def self.remove_key_from_host capistrano_host, public_key
|
53
|
-
execute_on_remote capistrano_host, "sed -i.bak -e '/#{comment}$/d' ~/.ssh/authorized_keys && rm ~/.ssh/authorized_keys.bak"
|
56
|
+
execute_on_remote capistrano_host, "sed -i.bak -e '/#{comment}$/d' -e '/^$/d' ~/.ssh/authorized_keys && rm ~/.ssh/authorized_keys.bak"
|
54
57
|
end
|
55
58
|
|
56
59
|
def self.execute_on_remote capistrano_host, command
|
@@ -60,4 +63,4 @@ module Capistrano
|
|
60
63
|
end
|
61
64
|
|
62
65
|
|
63
|
-
load File.expand_path("../
|
66
|
+
load File.expand_path("../tasks/one_time_key.rake", __FILE__)
|
@@ -0,0 +1,21 @@
|
|
1
|
+
namespace :load do
|
2
|
+
task :defaults do
|
3
|
+
set :ssh_options, {
|
4
|
+
keys: [Capistrano::OneTimeKey.temporary_ssh_private_key_path],
|
5
|
+
forward_agent: false,
|
6
|
+
auth_methods: %w(publickey password)
|
7
|
+
}
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
namespace :otk do
|
12
|
+
task :generate do
|
13
|
+
Capistrano::OneTimeKey.use_one_time_key!
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
namespace :deploy do
|
18
|
+
before :starting, :generate_otk do
|
19
|
+
invoke 'otk:generate'
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: capistrano-one_time_key
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Beer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: capistrano
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
69
|
+
description:
|
70
70
|
email:
|
71
71
|
|
72
72
|
executables: []
|
@@ -80,14 +80,14 @@ files:
|
|
80
80
|
- Rakefile
|
81
81
|
- capistrano-one_time_key.gemspec
|
82
82
|
- lib/capistrano/one_time_key.rb
|
83
|
-
- lib/capistrano/one_time_key/tasks/one_time_key.rake
|
84
83
|
- lib/capistrano/one_time_key/version.rb
|
84
|
+
- lib/capistrano/tasks/one_time_key.rake
|
85
85
|
- spec/spec_helper.rb
|
86
86
|
homepage: ''
|
87
87
|
licenses:
|
88
88
|
- APACHE2
|
89
89
|
metadata: {}
|
90
|
-
post_install_message:
|
90
|
+
post_install_message:
|
91
91
|
rdoc_options: []
|
92
92
|
require_paths:
|
93
93
|
- lib
|
@@ -102,9 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
|
-
|
106
|
-
|
107
|
-
signing_key:
|
105
|
+
rubygems_version: 3.5.9
|
106
|
+
signing_key:
|
108
107
|
specification_version: 4
|
109
108
|
summary: One time keys for capistrano
|
110
109
|
test_files:
|