angelos.lib.starter

SSH start logic.

@todo Add return types to Starter functions

class angelos.lib.starter.Starter

Bases: object

This class contains the methods for starting SSH clients and servers.

ALGS = {'compression_algs': ('zlib',), 'encryption_algs': ('chacha20-poly1305@openssh.com',), 'kex_algs': ('diffie-hellman-group18-sha512',), 'mac_algs': ('hmac-sha2-512-etm@openssh.com',), 'signature_algs': ('angelos-tongues',)}
SARGS = {'agent_forwarding': False, 'allow_pty': False, 'allow_scp': False, 'backlog': 200, 'gss_host': False, 'sftp_factory': False, 'x11_forwarding': False, 'x509_purposes': False, 'x509_trusted_certs': []}
clients_client(portfolio: angelos.lib.policy.portfolio.PrivatePortfolio, host: angelos.lib.policy.portfolio.Portfolio, port: int = 5, ioc: Optional[angelos.lib.ioc.Container] = None)

Start client for outgoing client/portal communications.

classmethod clients_server(portfolio: angelos.lib.policy.portfolio.PrivatePortfolio, host: unicode, port: int = 5, ioc: angelos.lib.ioc.Container = None, loop: asyncio.base_events.BaseEventLoop = None)

Start server for incoming client/portal communications.

static known_host(host_keys)
Parameters

host_keys

Returns:

classmethod nodes_client(portfolio: angelos.lib.policy.portfolio.PrivatePortfolio, host_keys: angelos.document.entities.Keys, host: unicode, port: int = 3)

Start client for outgoing node/domain communications.

classmethod nodes_server(portfolio: angelos.lib.policy.portfolio.PrivatePortfolio, host: unicode, port: int = 3, ioc: angelos.lib.ioc.Container = None, loop: asyncio.base_events.BaseEventLoop = None)

Start server for incoming node/domain communications.

static private_key(privkeys)

Prepares a private key for SSH use

Parameters

privkeys

Returns:

static public_key(keys)

Prepares a public key for SSH use

Parameters

keys

Returns:

static start_client(params)
Parameters

params

Returns:

static start_server(params)
Parameters

params

Returns: