Слово «шарахнуть» является производным от древнерусского слова «шарах» - треск, которое возникло как звукоподражание.
«Шарахнуть» - значит «сильно ударить», но это значение имеет массу оттенков,
которые отражены в его синонимах: съездить, ошарашить, бацнуть, влепить, долбануть, засветить, звездануть, оглоушить, огреть, поддать, стукнуть, тукнуть, хряснуть, хряпнуть, хрястнуть, хлобыстнуть, чебурахнуть и др.
А вот однокоренное слово «шарахнуться» имеет значения «испугаться чего-либо, удариться, отпрянуть» (ср. шарахнуть камнем по забору, но 1. шарахнуться с испугу, 2. шарахнуться головой о косяк, 3. становиться ненормальным (напр., «Ты чего, шарахнулся, что ли?»).
Что касается слова «ошарашить», то как мы видим выше, оно имеет тоже значение «сильно ударить» (напр., ошарашить дубинкой по спине), но у него есть и второе значение - «озадачить, поставить в тупик, удивить» (напр., ошарашить вопросом).
Следует заметить, что все эти слова имеют оттенок стилистической сниженности и употребляются в разговорной речи или в просторечии.