bgp: use host's ssh host key if not specified

Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
This commit is contained in:
FUJITA Tomonori 2014-05-27 11:04:54 +09:00
parent 5c78159a36
commit 25e19df614

View File

@ -21,6 +21,7 @@ import paramiko
import sys import sys
from copy import copy from copy import copy
from oslo.config import cfg from oslo.config import cfg
import os.path
from ryu.lib import hub from ryu.lib import hub
from ryu import version from ryu import version
@ -79,11 +80,25 @@ Hello, this is Ryu BGP speaker (version %s).
transport = paramiko.Transport(sock) transport = paramiko.Transport(sock)
transport.load_server_moduli() transport.load_server_moduli()
host_key = paramiko.RSAKey.from_private_key_file(CONF.cli_ssh_hostkey) host_key = self._find_ssh_server_key()
transport.add_server_key(host_key) transport.add_server_key(host_key)
self.transport = transport self.transport = transport
transport.start_server(server=self) transport.start_server(server=self)
def _find_ssh_server_key(self):
if CONF.cli_ssh_hostkey:
return paramiko.RSAKey.from_private_key_file(CONF.cli_ssh_hostkey)
elif os.path.exists("/etc/ssh_host_rsa_key"):
# OSX
return paramiko.RSAKey.from_private_key_file(
"/etc/ssh_host_rsa_key")
elif os.path.exists("/etc/ssh/ssh_host_rsa_key"):
# Linux
return paramiko.RSAKey.from_private_key_file(
"/etc/ssh/ssh_host_rsa_key")
else:
return paramiko.RSAKey.generate(1024)
def check_auth_none(self, username): def check_auth_none(self, username):
return paramiko.AUTH_SUCCESSFUL return paramiko.AUTH_SUCCESSFUL