diff options
-rwxr-xr-x | bin/authorized_keys | 10 | ||||
-rw-r--r-- | lib/gitlab_net.rb | 4 | ||||
-rw-r--r-- | spec/vcr_cassettes/ssh-key-not-found.yml | 2 | ||||
-rw-r--r-- | spec/vcr_cassettes/ssh-key-not-implemented.yml | 2 | ||||
-rw-r--r-- | spec/vcr_cassettes/ssh-key-ok.yml | 2 |
5 files changed, 10 insertions, 10 deletions
diff --git a/bin/authorized_keys b/bin/authorized_keys index 6f9880c..1e070ec 100755 --- a/bin/authorized_keys +++ b/bin/authorized_keys @@ -4,22 +4,22 @@ # GitLab shell authorized_keys. Query gitlab API to get the authorized command for a given ssh key fingerprint # # Ex. -# /bin/authorized_keys e6:17:f2:f3:b7 +# /bin/authorized_keys BASE64-KEY # # Returns # command="/bin/gitlab-shell key-#",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQA... # -fingerprint = ARGV[0] -abort "# No fingerprint provided" if fingerprint.nil? +key = ARGV[0] +abort "# No key provided" if key.nil? require_relative "../lib/gitlab_init" require_relative "../lib/gitlab_net" require_relative "../lib/gitlab_keys" -authorized_key = GitlabNet.new.authorized_key(fingerprint) +authorized_key = GitlabNet.new.authorized_key(key) unless authorized_key.nil? puts GitlabKey.new.key_line(authorized_key["id"], authorized_key["key"]) else - puts "# No key was found with fingerprint #{fingerprint}" + puts "# No key was found for #{key}" end diff --git a/lib/gitlab_net.rb b/lib/gitlab_net.rb index d5d1ebd..39384c7 100644 --- a/lib/gitlab_net.rb +++ b/lib/gitlab_net.rb @@ -56,8 +56,8 @@ class GitlabNet get("#{host}/check", read_timeout: CHECK_TIMEOUT) end - def authorized_key(fingerprint) - resp = get("#{host}/authorized_keys?fingerprint=#{fingerprint}") + def authorized_key(key) + resp = get("#{host}/authorized_keys?key=#{key}") JSON.parse(resp.body) if resp.code == "200" rescue nil diff --git a/spec/vcr_cassettes/ssh-key-not-found.yml b/spec/vcr_cassettes/ssh-key-not-found.yml index 68c646e..55e5b4f 100644 --- a/spec/vcr_cassettes/ssh-key-not-found.yml +++ b/spec/vcr_cassettes/ssh-key-not-found.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://dev.gitlab.org/api/v3/internal/ssh-key?fingerprint=whatever + uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?key=whatever body: encoding: US-ASCII string: secret_token=a123 diff --git a/spec/vcr_cassettes/ssh-key-not-implemented.yml b/spec/vcr_cassettes/ssh-key-not-implemented.yml index 4eafd27..98c3c00 100644 --- a/spec/vcr_cassettes/ssh-key-not-implemented.yml +++ b/spec/vcr_cassettes/ssh-key-not-implemented.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?fingerprint=whatever + uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?key=whatever body: encoding: US-ASCII string: secret_token=a123 diff --git a/spec/vcr_cassettes/ssh-key-ok.yml b/spec/vcr_cassettes/ssh-key-ok.yml index 3f2756a..9101236 100644 --- a/spec/vcr_cassettes/ssh-key-ok.yml +++ b/spec/vcr_cassettes/ssh-key-ok.yml @@ -2,7 +2,7 @@ http_interactions: - request: method: get - uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?fingerprint=42:18:16 + uri: https://dev.gitlab.org/api/v3/internal/authorized_keys?key=42:18:16 body: encoding: US-ASCII string: secret_token=a123 |