Ejemplo n.º 1
0
 def test_implementsInterface(self):
     """
     L{checkers.UNIXAuthorizedKeysFiles} implements
     L{checkers.IAuthorizedKeysDB}.
     """
     keydb = checkers.UNIXAuthorizedKeysFiles(self.userdb)
     verifyObject(checkers.IAuthorizedKeysDB, keydb)
Ejemplo n.º 2
0
 def test_ignoresNonexistantFile(self):
     """
     L{checkers.UNIXAuthorizedKeysFiles.getAuthorizedKeys} returns only
     the keys in C{~/.ssh/authorized_keys} and C{~/.ssh/authorized_keys2}
     if they exist.
     """
     keydb = checkers.UNIXAuthorizedKeysFiles(self.userdb, parseKey=lambda x: x)
     self.assertEqual(self.expectedKeys, list(keydb.getAuthorizedKeys(b"alice")))
Ejemplo n.º 3
0
 def test_noKeysForUnauthorizedUser(self):
     """
     If the user is not in the user database provided to
     L{checkers.UNIXAuthorizedKeysFiles}, an empty iterator is returned
     by L{checkers.UNIXAuthorizedKeysFiles.getAuthorizedKeys}.
     """
     keydb = checkers.UNIXAuthorizedKeysFiles(self.userdb, parseKey=lambda x: x)
     self.assertEqual([], list(keydb.getAuthorizedKeys("bob")))
Ejemplo n.º 4
0
 def test_ignoresUnreadableFile(self):
     """
     L{checkers.UNIXAuthorizedKeysFiles.getAuthorizedKeys} returns only
     the keys in C{~/.ssh/authorized_keys} and C{~/.ssh/authorized_keys2}
     if they are readable.
     """
     self.sshDir.child("authorized_keys2").makedirs()
     keydb = checkers.UNIXAuthorizedKeysFiles(self.userdb, parseKey=lambda x: x)
     self.assertEqual(self.expectedKeys, list(keydb.getAuthorizedKeys(b"alice")))
Ejemplo n.º 5
0
    def __init__(self, *a, **kw):
        usage.Options.__init__(self, *a, **kw)

        # Call the default addCheckers (for backwards compatibility) that will
        # be used if no --auth option is provided - note that conch's
        # UNIXPasswordDatabase is used, instead of twisted.plugins.cred_unix's
        # checker
        super(Options, self).addChecker(conch_checkers.UNIXPasswordDatabase())
        super(Options, self).addChecker(conch_checkers.SSHPublicKeyChecker(
            conch_checkers.UNIXAuthorizedKeysFiles()))
        self._usingDefaultAuth = True
Ejemplo n.º 6
0
 def test_allKeysInAllAuthorizedFilesForAuthorizedUser(self):
     """
     If the user is in the user database provided to
     L{checkers.UNIXAuthorizedKeysFiles}, an iterator with all the keys in
     C{~/.ssh/authorized_keys} and C{~/.ssh/authorized_keys2} is returned
     by L{checkers.UNIXAuthorizedKeysFiles.getAuthorizedKeys}.
     """
     self.sshDir.child('authorized_keys2').setContent('key 3')
     keydb = checkers.UNIXAuthorizedKeysFiles(self.userdb,
                                              parseKey=lambda x: x)
     self.assertEqual(self.expectedKeys + ['key 3'],
                      list(keydb.getAuthorizedKeys('alice')))