Фразеологизм, означающий "перестать говорить от удивления или испуга", — это "замолчать от изумления" или более распространённый вариант — "затихнуть от потрясения". Однако в более тесном значении и в устойчивых фразеологических выражениях подходит "замолчать от удивления" или "заглохнуть от испуга".
Наиболее точный и распространённый фразеологизм — "захлопать рот от удивления" или "заткнуться от изумления", которые переносно обозначают, что человек перестает говорить сразу же от сильного удивления или испуга.
Если говорить о конкретных устойчивых выражениях, то подходящим вариантом является:
"Остолбенеть от удивления" — хотя оно более о реакции, чем о прекращении речи, часто употребляется в значении сильного удивления.
Также возможен фразеологизм "запасти рот" (от удивления или испуга), но он менее распространён.
Итог:
Наиболее подходящий фразеологизм — "замолчать от удивления" или "заткнуться от испуга" (если искать выражение именно о прекращении разговора от удивления или страха).
Если вам нужен конкретный фразеологизм, противопоставляющийся "говорить" и связанный с удивлением или испугом, то наиболее точным будет — "замолчать" или "замолкнуть" в контексте неожиданного шока или испуга.