Родился в 1817 г., был сыном простого донского казака и в 1834 г. поступил в Донской казачий № 34 полк, из которого в 1845 г. по собственному желанию был переведён в Донской № 28 полк, находившийся на Кавказе. Здесь он принял участие в делах с горцами, во время Даргинской экспедиции был ранен и за боевые отличия 24 августа того же года произведён в хорунжие.
В 1849 г. Краснов с Донским казачьим № 1 полком участвовал в походе в Венгрию, за отличие в бою у с. Георги был награждён чином сотника и орденом св. Анны 4-й степени на шашку, а за взятие трёх неприятельских орудий в бою — 28 ноября орденом св. Георгия 4-й степени (№ 8337 по списку Григоровича—Степанова)
В 1858 г. Краснов был награждён орденом св. Владимира 4-й степени с мечами и бантом. В 1863 г., командуя сотней в Донском казачьем № 39 полку, Краснов принял участие в усмирении польского мятежа, был ранен в стычке с повстанцами у д. Воли Градовской и награждён орденами св. Станислава 2-й степени с мечами и императорской короной и св. Анны 2-й степени с мечами (императорская корона к этому ордену пожалована в 1865 г.), а в 1864 г. получил золотую шашку с надписью «За храбрость», также за польскую кампанию им были получены чины войскового старшины и полковника.
С 1863 по 1877 г. Краснов командовал различными Донскими казачьими полками. Во главе одного из них, № 26-го, он принял участие в русско-турецкой войне 1877—1878 гг. в составе передового отряда генерала Гурко, за взятие Тырнова был награждён орденом св. Владимира 3-й степени с мечами (в 1877 г.). В бою при д. Оризари был в третий раз ранен, но остался в строю; за отличие в сражении при Ески-Загре, где он командовал отрядом из частей своего полка, 8 рот болгарской дружины и 4 горных орудий, получил 10 сентября 1877 г. чин генерал-майора (со старшинством от 18 июля). Бой при Уфлани доставил ему подарок по чину, а бои под Ловчей и на Зелёных горах под Плевной — орден св. Станислава 1-й степени с мечами (в 1878 г.). Назначенный затем походным атаманом Донских казачьих полков действующей армии, Краснов совершил 2-й поход за Балканы, сражался под Этрополем, Шандорником, Филлиппополем и за отличие 4 января 1878 г. под Карагачем награждён 2 октября 1879 г. орденом св. Георгия 3-й степени (№ 576)
Назначенный в 1879 г. командиром 2-й бригады 7-й кавалерийской дивизии, Краснов оставался в этой должности до 22 февраля 1889 г., когда был произведён в генерал-лейтенанты с увольнением за болезнью от службы.
Умер 14 марта 1893 г. в Новочеркасске.