diff --git a/lib/cmdlib.py b/lib/cmdlib.py
index cb2a5bcd4ae63165d6e96bcf2bef137e717ea849..e0be0b79e52c997c6059767b98a5eaa16fb02c8d 100644
--- a/lib/cmdlib.py
+++ b/lib/cmdlib.py
@@ -96,7 +96,7 @@ class LogicalUnit(object):
 
     """
     if not self.__ssh:
-      self.__ssh = ssh.SshRunner()
+      self.__ssh = ssh.SshRunner(self.sstore)
     return self.__ssh
 
   ssh = property(fget=__GetSSH)
diff --git a/lib/ssh.py b/lib/ssh.py
index d4fc2174c5d4dd873e98ef8f237dbca5595c2b1e..6481d70fab24baddd325815d7989a507733df2d1 100644
--- a/lib/ssh.py
+++ b/lib/ssh.py
@@ -30,6 +30,7 @@ from ganeti import logger
 from ganeti import utils
 from ganeti import errors
 from ganeti import constants
+from ganeti import ssconf
 
 
 KNOWN_HOSTS_OPTS = [
@@ -90,6 +91,15 @@ class SshRunner:
   """Wrapper for SSH commands.
 
   """
+  def __init__(self, sstore=None):
+    if sstore is None:
+      self.sstore = ssconf.SimpleStore()
+    else:
+      self.sstore = sstore
+
+  def _GetHostKeyAliasOption(self):
+    return "-oHostKeyAlias=%s" % self.sstore.GetClusterName()
+
   def BuildCmd(self, hostname, user, command, batch=True, ask_key=False,
                tty=False):
     """Build an ssh command to execute a command on a remote node.
@@ -108,6 +118,7 @@ class SshRunner:
     """
     argv = ["ssh", "-q"]
     argv.extend(KNOWN_HOSTS_OPTS)
+    argv.append(self._GetHostKeyAliasOption())
     if batch:
       # if we are in batch mode, we can't ask the key
       if ask_key:
@@ -163,6 +174,7 @@ class SshRunner:
     command = ["scp", "-q", "-p"]
     command.extend(KNOWN_HOSTS_OPTS)
     command.extend(BATCH_MODE_OPTS)
+    command.append(self._GetHostKeyAliasOption())
     command.append(filename)
     command.append("%s:%s" % (node, filename))