As we reevaluate how to best support and maintain Staging Ref in the future, we encourage development teams using this environment to highlight their use cases in the following issue: https://gitlab.com/gitlab-com/gl-infra/software-delivery/framework/software-delivery-framework-issue-tracker/-/issues/36.

Skip to content
Snippets Groups Projects
Commit 4cee52bd authored by Patrick Bajao's avatar Patrick Bajao
Browse files

Repurpose bin/authorized_keys script

It's been replaced by `gitlab-shell-authorized-keys-check` and
it's also calling the `/authorized_keys` endpoint via Ruby.

Since they have the same functionality as the new binary, better
to call that instead to make it SSOT for authorized keys requests.
parent 27ac9328
No related branches found
No related tags found
No related merge requests found
#!/usr/bin/env ruby
#!/bin/sh
# Legacy script used for AuthorizedKeysCommand when configured without username.
# Executes gitlab-shell-authorized-keys-check with "git" as expected and actual
# username and with the passed key.
#
# GitLab shell authorized_keys. Query GitLab API to get the authorized command for a given ssh key fingerprint
#
# Ex.
# /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...
#
key = ARGV[0]
abort "# No key provided" if key.nil? || key.empty?
require_relative "../lib/gitlab_init"
require_relative "../lib/gitlab_net"
require_relative "../lib/gitlab_keys"
# TODO: Remove this in https://gitlab.com/gitlab-org/gitlab-shell/issues/209.
authorized_key = GitlabNet.new.authorized_key(key)
if authorized_key.nil?
puts "# No key was found for #{key}"
else
puts GitlabKeys.key_line("key-#{authorized_key['id']}", authorized_key["key"])
end
$(dirname $0)/gitlab-shell-authorized-keys-check git git $1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment