diff --git a/setup.py b/setup.py
index 131ca1a7c6ab2e4dc0d0e419a1ca330cb7c5861b..29716f0f93041f96501a4053353c8f03f984450b 100755
--- a/setup.py
+++ b/setup.py
@@ -168,7 +168,6 @@ setup(name=name,
           'reverseproxy.nginx = slapos.recipe.reverse_proxy_nginx:Recipe',
           'sheepdogtestbed = slapos.recipe.sheepdogtestbed:SheepDogTestBed',
           'shell = slapos.recipe.shell:Recipe',
-          'shellinabox = slapos.recipe.shellinabox:Recipe',
           'signalwrapper= slapos.recipe.signal_wrapper:Recipe',
           'simplelogger = slapos.recipe.simplelogger:Recipe',
           'simplehttpserver = slapos.recipe.simplehttpserver:Recipe',
diff --git a/slapos/recipe/shellinabox.py b/slapos/recipe/shellinabox.py
deleted file mode 100644
index 189104ac7b152675d7210c23a38f2a58a153883b..0000000000000000000000000000000000000000
--- a/slapos/recipe/shellinabox.py
+++ /dev/null
@@ -1,109 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsibility of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# guarantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-from getpass import getpass
-import hmac
-import pwd
-import grp
-import os
-import shlex
-
-from slapos.recipe.librecipe import GenericBaseRecipe
-
-def login_shell(password_file, shell):
-  if password_file:
-    with open(password_file, 'r') as password_file:
-      password = password_file.read()
-
-    if not password or hmac.compare_digest(getpass(), password):
-      commandline = shlex.split(shell)
-      os.execv(commandline[0], commandline)
-  return 1
-
-def shellinabox(args):
-  certificate_dir = args['certificate_dir']
-  certificate_path = os.path.join(certificate_dir, 'certificate.pem')
-  with open(certificate_path, 'w') as certificate_file:
-    with open(args['ssl_key'], 'r') as key_file:
-      # XXX: Dirty hack in order to make shellinabox work
-      print >> certificate_file, key_file.read().replace(' PRIVATE ',
-                                                         ' RSA PRIVATE ')
-    with open(args['ssl_certificate']) as public_key_file:
-      print >> certificate_file, public_key_file.read()
-
-  user = pwd.getpwuid(os.getuid()).pw_uid
-  group = grp.getgrgid(os.getgid()).gr_gid
-  service = '/:%(user)s:%(group)s:%(directory)s:%(command)s' % {
-    'user': user,
-    'group': group,
-    'directory': args['directory'],
-    'command': args['login_shell'],
-  }
-
-  command_line = [
-    args['shellinabox'],
-    '-c', certificate_dir,
-    '-s', service,
-    '--ipv6', args['ipv6'],
-    '-p', args['port'],
-  ]
-
-  # XXX: By default shellinbox drop privileges
-  #      switching to nobody:nogroup user.
-  # This force root.
-  if group == 'root':
-    command_line.extend(['-g', group])
-  if user == 'root':
-    command_line.extend(['-u', group])
-
-  os.execv(command_line[0], command_line)
-
-
-class Recipe(GenericBaseRecipe):
-
-  def install(self):
-    login_shell_wrapper = self.createPythonScript(
-      self.options['login-shell'],
-      __name__ + '.login_shell',
-      (self.options['password-file'], self.options['shell'])
-    )
-
-    shellinabox_wrapper = self.createPythonScript(
-      self.options['wrapper'],
-      __name__ + '.shellinabox',
-      (dict(
-        certificate_dir=self.options['certificate-directory'],
-        ssl_key=self.options['key-file'],
-        ssl_certificate=self.options['cert-file'],
-        shellinabox=self.options['shellinabox-binary'],
-        directory=self.options['directory'],
-        ipv6=self.options['ipv6'],
-        port=self.options['port'],
-        login_shell=login_shell_wrapper,
-       ),)
-    )
-
-    return login_shell_wrapper, shellinabox_wrapper