mirror of https://github.com/cowrie/cowrie.git
do moduli check/version string only once
This commit is contained in:
parent
990640e280
commit
7c204a8164
|
@ -68,6 +68,19 @@ class CowrieSSHFactory(factory.SSHFactory):
|
|||
b'ssh-dss': keys.Key.fromString(data=dsaPrivKeyString)
|
||||
}
|
||||
|
||||
_modulis = '/etc/ssh/moduli', '/private/etc/moduli'
|
||||
for _moduli in _modulis:
|
||||
try:
|
||||
self.primes = primes.parseModuliFile(_moduli)
|
||||
break
|
||||
except IOError as err:
|
||||
pass
|
||||
|
||||
try:
|
||||
self.ourVersionString = CONFIG.get('ssh', 'version')
|
||||
except NoOptionError:
|
||||
self.ourVersionString = 'SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2'
|
||||
|
||||
factory.SSHFactory.startFactory(self)
|
||||
log.msg("Ready to accept SSH connections")
|
||||
|
||||
|
@ -89,24 +102,12 @@ class CowrieSSHFactory(factory.SSHFactory):
|
|||
@return: The built transport.
|
||||
"""
|
||||
|
||||
_modulis = '/etc/ssh/moduli', '/private/etc/moduli'
|
||||
|
||||
t = transport.HoneyPotSSHTransport()
|
||||
|
||||
try:
|
||||
t.ourVersionString = CONFIG.get('ssh', 'version')
|
||||
except NoOptionError:
|
||||
t.ourVersionString = "SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u2"
|
||||
|
||||
t.ourVersionString = self.ourVersionString
|
||||
t.supportedPublicKeys = list(self.privateKeys.keys())
|
||||
|
||||
for _moduli in _modulis:
|
||||
try:
|
||||
self.primes = primes.parseModuliFile(_moduli)
|
||||
break
|
||||
except IOError as err:
|
||||
pass
|
||||
|
||||
if not self.primes:
|
||||
ske = t.supportedKeyExchanges[:]
|
||||
if b'diffie-hellman-group-exchange-sha1' in ske:
|
||||
|
|
Loading…
Reference in New Issue