Private Post BUT Public excerpt on Homepage

You could add this to your themes functions.php file. This adds private posts to the initial loop on the homepage only.

/**
 * Include private posts in homepage loop
 */
function show_private_posts_on_homepage($query) {
    if ( $query->is_home() && $query->is_main_query() ) {
        $query->set( 'post_status', array( 'publish', 'private' ) );
    }
}

add_action('pre_get_posts', 'show_private_posts_on_homepage');

Depending on your theme, you might need to swap out $query->is_home() with $query->is_front_page()