I s there a way I can show node teasers but don't allow access to full content?
To prevent users from access the node you can disable the "View published Content" permission but that will disable it for all node types. If you like to disable it just for one node type you can checkout the content_access module.

You can use a view of content to display the teasers.

In the format section use the format "Unformatted list" and choose your content display Teaser.

If you use a page for the view, you should also check the page access in the page settings section of the view.

I'm not sure if you need the following (It depends on how you prevent the node access):

In the advanced section under query settings you can disable sql-rewriting. This allows you to disable the node_access check. But take attention to this:

"Disabling SQL rewriting will omit all query tags, i. e. disable node access checks as well as override hook_query_alter() implementations in other modules."