В 1825 году поступил в Морской кадетский корпус, по окончании курса в котором был произведён в гардемарины, а затем, в 1831 году, в мичманы и прикомандирован к Балтийскому флоту. На Балтике Степанов прослужил до 1834 года, когда был переведён в Черноморский флот, в составе которого на различных судах ежегодно крейсировал у абхазских берегов. В 1837 году он находился в рядах десанта, занявшего Константиновский мыс, местечко Шапсухо и покорившего Цибелады; за участие в этой кампании был награждён орденами св. Станислава 3-й степени и св. Анны 4-й степени. В 1838—1848 годах Степанов в чине лейтенанта плавал по Чёрному и Средиземному морям, а с 1849 года, уже капитан-лейтенантом — на транспортах «Рион» и «Кубань» и корабле «Селаднил» нёс службу по Южному Бугу и Днепровскому лиману. Во время Севастопольской кампании он принимал участие в защите Николаева, командуя Ингульской батареей и 44-м флотским экипажем. По окончании Крымской войны Степанов был произведён в капитаны 1-го ранга, переехал в Санкт-Петербург и в 1858—59 годах принимал деятельное участие в гидрографических работах в Финском и Рижском заливах и Балтийском море, в 1860 году был назначен командиром 3-го рабочего экипажа, а в 1863 году — командиром Петербургского портового экипажа. Наконец в 1869 году произведённый в контр-адмиралы, Степанов был зачислен по резервному флоту, в списках которого состоял до самой смерти, последовавшей 15 января 1871 года.