diff --git a/lib/gitlab/backend/shell.rb b/lib/gitlab/backend/shell.rb
index 6c9532face8e463310e50592de69073696c61b1f..d0b89f85adee079f23af8fe6af2ebec4856c1ffd 100644
--- a/lib/gitlab/backend/shell.rb
+++ b/lib/gitlab/backend/shell.rb
@@ -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.
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index 779670512c2c7663e1c593e3dfb0cd1603730973..be679dcd97e53d5a46ecc1883175af668642ed7b 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -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} ? ... "
diff --git a/lib/tasks/gitlab/shell.rake b/lib/tasks/gitlab/shell.rake
index 11d4eacaa6957e1b525da29712159db79ae82fd4..0d7a390bc9292ff441a8c117e9ebfe968257250f 100644
--- a/lib/tasks/gitlab/shell.rake
+++ b/lib/tasks/gitlab/shell.rake
@@ -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)