def adapt_ssh_config_host_to_instance(self, alias, parsed_host):
        """Convert parsed host to application host."""
        app_host = Host(
            label=alias,
            address=parsed_host['hostname'],
        )
        ssh_config = SshConfig(
            identity=Identity(
                username=parsed_host.get('user', self.default_user),
                ssh_key=self.create_key(parsed_host),
                is_visible=False,
                label=app_host.label
            )
        )

        ssh_config.port = parsed_host.get('port')
        ssh_config.timeout = parsed_host.get('serveraliveinterval')
        ssh_config.keep_alive_packages = parsed_host.get('serveralivecountmax')
        ssh_config.use_ssh_key = parsed_host.get('identitiesonly')
        ssh_config.strict_host_key_check = parsed_host.get(
            'stricthostkeychecking'
        )

        app_host.ssh_config = ssh_config

        return app_host
Beispiel #2
0
    def adapt_ssh_config_host_to_instance(self,
                                          alias,
                                          parsed_host,
                                          parsed_group=None):
        """Convert parsed host to application host."""
        app_host = Host(
            label=alias,
            address=parsed_host['hostname'],
        )
        ssh_config = SshConfig(identity=Identity(
            username=parsed_host.get('user', self.default_user),
            ssh_key=self.create_key(parsed_host),
            is_visible=False,
            label=app_host.label))

        ssh_config.port = parsed_host.get('port')
        ssh_config.timeout = parsed_host.get('serveraliveinterval')
        ssh_config.keep_alive_packages = parsed_host.get('serveralivecountmax')
        ssh_config.use_ssh_key = parsed_host.get('identitiesonly')
        ssh_config.strict_host_key_check = parsed_host.get(
            'stricthostkeychecking')

        app_host.ssh_config = ssh_config
        if parsed_group:
            app_host.group = parsed_group

        return app_host
Beispiel #3
0
    def create_host(self, raw_host, group):
        """Create instances from groups tree."""
        host = Host(label=raw_host['label'],
                    address=raw_host['hostname'],
                    group=group)
        host.ssh_config = SshConfig(port=raw_host['port'])

        if raw_host['username']:
            identity = Identity(username=raw_host.get('username'),
                                is_visible=False,
                                label=raw_host.get('username'))

            host.ssh_config.identity = identity

        return host