Python源码示例:twisted.conch.ssh.factory.SSHFactory()
示例1
def testMultipleFactories(self):
f1 = factory.SSHFactory()
f2 = factory.SSHFactory()
gpk = lambda: {'ssh-rsa' : "don't use"}
f1.getPrimes = lambda: None
f2.getPrimes = lambda: {1:(2,3)}
f1.getPublicKeys = f2.getPublicKeys = gpk
f1.getPrivateKeys = f2.getPrivateKeys = gpk
f1.startFactory()
f2.startFactory()
p1 = f1.buildProtocol(None)
p2 = f2.buildProtocol(None)
self.failIf('diffie-hellman-group-exchange-sha1' in p1.supportedKeyExchanges,
p1.supportedKeyExchanges)
self.failUnless('diffie-hellman-group-exchange-sha1' in p2.supportedKeyExchanges,
p2.supportedKeyExchanges)
示例2
def hook_to_reactor(self, reactor):
ssh_factory = factory.SSHFactory()
ssh_factory.portal = portal.Portal(SSHDemoRealm(self.switch_core))
if not self.users:
self.users = {'root': b'root'}
ssh_factory.portal.registerChecker(
checkers.InMemoryUsernamePasswordDatabaseDontUse(**self.users))
host_public_key, host_private_key = getRSAKeys()
ssh_factory.publicKeys = {
b'ssh-rsa': keys.Key.fromString(data=host_public_key.encode())}
ssh_factory.privateKeys = {
b'ssh-rsa': keys.Key.fromString(data=host_private_key.encode())}
lport = reactor.listenTCP(port=self.port, factory=ssh_factory, interface=self.ip)
logging.info(lport)
logging.info(
"%s (SSH): Registered on %s tcp/%s" % (self.switch_core.switch_configuration.name, self.ip, self.port))
return lport
示例3
def start_ssh_server(self):
try:
log.debug('starting', port=self.netconf_port)
self.set_capabilities()
self.portal = self.setup_secure_access()
self.connector = reactor.listenTCP(self.netconf_port, self)
log.debug('started', port=self.netconf_port)
self.d_stopped = Deferred()
self.d_stopped.callback(self.stop)
yield self.d_stopped
except Exception as e:
log.error('netconf-server-not-started', port=self.netconf_port,
exception=repr(e))
# Methods from SSHFactory
#
示例4
def getService(self, trans, name):
return factory.SSHFactory.getService(self, trans, name)
示例5
def makeSSHFactory(self, primes=None):
sshFactory = factory.SSHFactory()
gpk = lambda: {'ssh-rsa' : keys.Key(None)}
sshFactory.getPrimes = lambda: primes
sshFactory.getPublicKeys = sshFactory.getPrivateKeys = gpk
sshFactory.startFactory()
return sshFactory
示例6
def getService(self, trans, name):
return factory.SSHFactory.getService(self, trans, name)
示例7
def makeSSHFactory(self, primes=None):
sshFactory = factory.SSHFactory()
gpk = lambda: {'ssh-rsa' : keys.Key(None)}
sshFactory.getPrimes = lambda: primes
sshFactory.getPublicKeys = sshFactory.getPrivateKeys = gpk
sshFactory.startFactory()
return sshFactory
示例8
def getService(self, trans, name):
return factory.SSHFactory.getService(self, trans, name)
示例9
def makeSSHFactory(self, primes=None):
sshFactory = factory.SSHFactory()
gpk = lambda: {'ssh-rsa' : keys.Key(None)}
sshFactory.getPrimes = lambda: primes
sshFactory.getPublicKeys = sshFactory.getPrivateKeys = gpk
sshFactory.startFactory()
return sshFactory
示例10
def getService(self, trans, name):
return factory.SSHFactory.getService(self, trans, name)