Уроженец деревни Колычёво , что ныне находится в Егорьевском городском округе Московской области Иван Яснов родился 11 апреля 1924 года в семье лесника. После окончания школы ФЗУ при Коломенском машиностроительном заводе имени Куйбышева стал работать слесарем-ремонтником в паросиловом хозяйстве.
На фронтах Великой Отечественной войны с августа 1941 года. Был стрелком-ополченцем 32-й армии Западного фронта. В октябре 1941 года участвовал в боях в районе города Вязьмы Смоленской области, вышел из окружения. До лета 1942 года работал в городе Егорьевске Московской области.
В Красной армии с августа 1942 года. В 1944 году окончил Горьковское танковое училище. С января 1945 года воевал командиром танка Т-34 на 1-м Белорусском фронте. Участвовал в Висло-Одерской и Берлинской операциях. В боях один раз ранен. Только за один месяц апрель 1944 года Яснов И. М. был награждён поочерёдно двумя орденами Отечественной войны, 2-й и 1-й степени соответственно.
Командир танка 36-й танковой бригады 11-го танкового корпуса младший лейтенант Яснов одним из первых 20 апреля 1945 года ворвался на линию вражеской обороны западнее озера Шермют-цель-зее (Германия). Экипаж подбил тяжёлый танк противника, подавил огонь 2-х противотанковых орудий, уничтожил два взвода пехоты. Первым ворвался в пригород Берлина Лихтенберг.
После Победы лейтенант Яснов продолжал службу в своей части в составе Группы советских оккупационных войск в Германии, был назначен командиром танкового взвода. 28 декабря 1946 года он и водитель полуторки были откомандированы из гарнизона в близлежащий городок для подготовки к встрече Нового, 1947 года. 14 октября 1941 года 17-летний уроженец села Колычево Егорьевского района Московской области, стрелок-ополченец Иван Яснов вместе со своими товарищами понял, что попал под Вязьмой в окружение. С боями группа наших бойцов пробиралась к своим. В ноябре окруженцы вышли к линии фронта. После проверки Яснов продолжил трудиться на Егорьевском машиностроительном заводе.
В армию его призвали в августе 1944 года и направили учиться в Горьковское танковое училище. Яснов прошел полный курс обучения и попал на фронт только в конце 1944 года младшим лейтенантом, командиром танка Т-34. Яснов отличился в Берлинской операции, уничтожив большое количество техники и живой силы противника. За штурм Берлина он был удостоен звания Героя Советского Союза. Всего за полгода участия в войне успел также получить ордена Отечественной войны I и II степени.
После Победы Иван Макарович продолжил службу в Германии. 28 декабря 1946 года машину, в которой ехал Яснов, обстреляли. Яснова похоронили в Берлине.