提交 475f607a 编写于 作者: D Dmitriy Zaporozhets

Use gitlab-shell authorized_keys truncation. Fix issue with authorized_keys...

Use gitlab-shell authorized_keys truncation. Fix issue with authorized_keys stored in different location
上级 02e39563
...@@ -139,6 +139,15 @@ module Gitlab ...@@ -139,6 +139,15 @@ module Gitlab
system "#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys", "rm-key", key_id, key_content system "#{gitlab_shell_user_home}/gitlab-shell/bin/gitlab-keys", "rm-key", key_id, key_content
end 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 # Add empty directory for storing repositories
# #
# Ex. # Ex.
......
...@@ -657,7 +657,7 @@ namespace :gitlab do ...@@ -657,7 +657,7 @@ namespace :gitlab do
end end
def check_gitlab_shell 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) current_version = Gitlab::VersionInfo.parse(gitlab_shell_version)
print "GitLab Shell version >= #{required_version} ? ... " print "GitLab Shell version >= #{required_version} ? ... "
......
...@@ -25,15 +25,14 @@ namespace :gitlab do ...@@ -25,15 +25,14 @@ namespace :gitlab do
def setup def setup
warn_user_is_not_gitlab 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' unless ENV['force'] == 'yes'
puts "This will rebuild an authorized_keys file." 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 ask_to_continue
puts "" puts ""
end 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| Key.find_each(batch_size: 1000) do |key|
if Gitlab::Shell.new.add_key(key.shell_id, key.key) if Gitlab::Shell.new.add_key(key.shell_id, key.key)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册