Use gitlab-shell authorized_keys truncation. Fix issue with authorized_keys stored in different location
This commit is contained in:
parent
02e39563c8
commit
475f607a22
|
@ -139,6 +139,15 @@ module Gitlab
|
|||
system "#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys", "rm-key", key_id, key_content
|
||||
end
|
||||
|
||||
# Remove all ssh keys from gitlab shell
|
||||
#
|
||||
# Ex.
|
||||
# remmove_all_keys
|
||||
#
|
||||
def remove_all_keys
|
||||
system "#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys", "clear"
|
||||
end
|
||||
|
||||
# Add empty directory for storing repositories
|
||||
#
|
||||
# Ex.
|
||||
|
|
|
@ -657,7 +657,7 @@ namespace :gitlab do
|
|||
end
|
||||
|
||||
def check_gitlab_shell
|
||||
required_version = Gitlab::VersionInfo.new(1, 6, 0)
|
||||
required_version = Gitlab::VersionInfo.new(1, 7, 0)
|
||||
current_version = Gitlab::VersionInfo.parse(gitlab_shell_version)
|
||||
|
||||
print "GitLab Shell version >= #{required_version} ? ... "
|
||||
|
|
|
@ -25,15 +25,14 @@ namespace :gitlab do
|
|||
def setup
|
||||
warn_user_is_not_gitlab
|
||||
|
||||
gitlab_shell_authorized_keys = File.join(File.expand_path("~#{Gitlab.config.gitlab_shell.ssh_user}"),'.ssh/authorized_keys')
|
||||
unless ENV['force'] == 'yes'
|
||||
puts "This will rebuild an authorized_keys file."
|
||||
puts "You will lose any data stored in #{gitlab_shell_authorized_keys}."
|
||||
puts "You will lose any data stored in authorized_keys file."
|
||||
ask_to_continue
|
||||
puts ""
|
||||
end
|
||||
|
||||
system("echo '# Managed by gitlab-shell' > #{gitlab_shell_authorized_keys}")
|
||||
Gitlab::Shell.new.remove_all_keys
|
||||
|
||||
Key.find_each(batch_size: 1000) do |key|
|
||||
if Gitlab::Shell.new.add_key(key.shell_id, key.key)
|
||||
|
|
Loading…
Reference in New Issue