sshkDsa :: String
sshkDsa = "dsa"
+sshkEcdsa :: String
+sshkEcdsa = "ecdsa"
+
sshkRsa :: String
sshkRsa = "rsa"
sshkAll :: FrozenSet String
-sshkAll = ConstantUtils.mkSet [sshkRsa, sshkDsa]
+sshkAll = ConstantUtils.mkSet [sshkRsa, sshkDsa, sshkEcdsa]
-- * SSH authorized key types
sshHostDsaPub :: String
sshHostDsaPub = sshHostDsaPriv ++ ".pub"
+sshHostEcdsaPriv :: String
+sshHostEcdsaPriv = sshConfigDir ++ "/ssh_host_ecdsa_key"
+
+sshHostEcdsaPub :: String
+sshHostEcdsaPub = sshHostEcdsaPriv ++ ".pub"
+
sshHostRsaPriv :: String
sshHostRsaPriv = sshConfigDir ++ "/ssh_host_rsa_key"
sshDaemonKeyfiles =
Map.fromList [ (sshkRsa, (sshHostRsaPriv, sshHostRsaPub))
, (sshkDsa, (sshHostDsaPriv, sshHostDsaPub))
+ , (sshkEcdsa, (sshHostEcdsaPriv, sshHostEcdsaPub))
]
-- * Node daemon setup
constants.SSHK_DSA:
(os.path.join(self.tmpdir, ".ssh", "id_dsa"),
os.path.join(self.tmpdir, ".ssh", "id_dsa.pub")),
+ constants.SSHK_ECDSA:
+ (os.path.join(self.tmpdir, ".ssh", "id_ecdsa"),
+ os.path.join(self.tmpdir, ".ssh", "id_ecdsa.pub")),
}))
self.assertEqual(os.listdir(self.tmpdir), [])
constants.SSHK_DSA:
(utils.PathJoin(self.tmpdir, "dsa.private"),
utils.PathJoin(self.tmpdir, "dsa.public")),
+ constants.SSHK_ECDSA:
+ (utils.PathJoin(self.tmpdir, "ecdsa.private"),
+ utils.PathJoin(self.tmpdir, "ecdsa.public")),
}
def tearDown(self):
],
})
+ def testDryRunEcdsa(self):
+ self._TestDryRun({
+ constants.SSHS_SSH_HOST_KEY: [
+ (constants.SSHK_ECDSA, "ecdsapriv", "ecdsapub"),
+ ],
+ })
+
def _RunCmd(self, fail, cmd, interactive=NotImplemented):
self.assertTrue(interactive)
self.assertEqual(cmd, [pathutils.DAEMON_UTIL, "reload-ssh-keys"])
data = {
constants.SSHS_SSH_HOST_KEY: [
(constants.SSHK_DSA, "dsapriv", "dsapub"),
+ (constants.SSHK_ECDSA, "ecdsapriv", "ecdsapub"),
(constants.SSHK_RSA, "rsapriv", "rsapub"),
],
}
self.assertEqual(sorted(os.listdir(self.tmpdir)), sorted([
"rsa.public", "rsa.private",
"dsa.public", "dsa.private",
+ "ecdsa.public", "ecdsa.private",
]))
self.assertEqual(utils.ReadFile(utils.PathJoin(self.tmpdir, "rsa.public")),
"rsapub")
"dsapub")
self.assertEqual(utils.ReadFile(utils.PathJoin(self.tmpdir, "dsa.private")),
"dsapriv")
+ self.assertEqual(utils.ReadFile(utils.PathJoin(
+ self.tmpdir, "ecdsa.public")), "ecdsapub")
+ self.assertEqual(utils.ReadFile(utils.PathJoin(
+ self.tmpdir, "ecdsa.private")), "ecdsapriv")
def testSuccess(self):
self._TestUpdate(False)