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
- SHA1:
3
- metadata.gz: 939b2c31402865d6fc47b342b49cf2036b61a5ca
4
- data.tar.gz: 27d4763cc9247c3e5e81e669594f830c4c00dbfe
2
+ SHA256:
3
+ metadata.gz: cc4be8c2de3122934117151da242aba35f59dd5ab325a293ec22c3c87d20b0ac
4
+ data.tar.gz: 7f236f40b4b78e727a834d49d1a552e52e603b51cd22d70c126e730504f21b36
5
5
  SHA512:
6
- metadata.gz: acb7cf8ed73e1ac0371ac6cb2f4d26b60d4ba2e204483448e0bd2d92a72fcee1fdc4303c3dde47ea9f3224da378ba3cd914f5db348b573643d1b668a56b587d3
7
- data.tar.gz: f9afe8d2f44bec9d273604df3bb9bf177cf950c9e122cbce0c4f76b58b3ee1d565fea947cb88f9733eff263ed4fc39542d35c7af3681aeb7825949dbaf5bb1b7
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", "~> 1.5"
22
+ spec.add_development_dependency "bundler", "~> 2"
23
23
  spec.add_development_dependency "rake"
24
24
  spec.add_development_dependency "rspec"
25
25
  end
@@ -1,5 +1,5 @@
1
1
  module Capistrano
2
2
  module OneTimeKey
3
- VERSION = "0.0.1"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  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.temporary_ssh_private_key_path
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("../one_time_key/tasks/one_time_key.rake", __FILE__)
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.1
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: 2014-01-16 00:00:00.000000000 Z
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: '1.5'
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: '1.5'
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
- rubyforge_project:
106
- rubygems_version: 2.2.0
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:
@@ -1,5 +0,0 @@
1
- set :ssh_options, {
2
- keys: [Capistrano::OneTimeKey.temporary_ssh_private_key_path],
3
- forward_agent: false,
4
- auth_methods: %w(publickey password)
5
- }
OSZAR »