Copy the SSH keys to the given host.

        :param host: the `Host` object to copy the SSH keys to.
        :param known_hosts: the `known_hosts` file to store the SSH public keys.
        :raise paramiko.ssh_exception.AuthenticationException:

def copy_ssh_keys_to_host(self, host, known_hosts=DEFAULT_KNOWN_HOSTS):
        """
        Copy the SSH keys to the given host.

        :param host: the `Host` object to copy the SSH keys to.
        :param known_hosts: the `known_hosts` file to store the SSH public keys.
        :raise paramiko.ssh_exception.AuthenticationException:
        """
        password = host.password or self.sshcopyid.default_password
        try:
            self.sshcopyid.copy_ssh_keys_to_host(host, password=password, no_add_host=self.args.no_add_host,
                                                 known_hosts=known_hosts)

        except paramiko.ssh_exception.AuthenticationException:
            if password:
                # A password was given, and it is wrong
                raise
            else:
                # Ask for password
                password = utils.get_password()
                self.sshcopyid.default_password = password

                # Try to connect again
                self.sshcopyid.copy_ssh_keys_to_host(host, password=password, no_add_host=self.args.no_add_host,
                                                     known_hosts=known_hosts)