본관은 진주(晉州). 자는 방숙(芳叔). 강악흠(姜嶽欽)의 손자이며, 강노영(姜魯永)의 아들이다.
1848년(헌종 14) 증광문과에 병과로 급제하였다. 철종조에 들어와 홍문관 부교리 · 부수찬을 거쳐 1860년(철종 11)에 사간원대사간이 되었다. 그러나 이듬해인 1861년에는 왜역관(倭譯官)으로 재직하면서 사서(私書)를 등전(騰傳)한 혐의를 받아 파직, 문경에 유배되었다.
그뒤 고종조에 들어와 다시 기용되어 좌부승지 · 성균관대사성 · 이조참의 · 사헌부대사헌 등을 두루 역임한 뒤 1873년 형조판서에 올랐으며, 1875년에는 청나라의 목종이 죽자 진위 겸 진향정사(陳慰兼進香正使)가 되어 청나라에 다녀왔다.
한편, 1872년 상시관(上試官)으로 있을 때 당년 과거시험장의 기강이 해이해져 사회적인 물의가 일어나자 탄핵을 받기도 하였다.
또한, 사헌부대사헌으로 있던 1876년에는 언사(言辭)를 함부로 하여 체모를 실추시킨 죄로 파직되기도 하였으나, 곧 한성부판윤으로 다시 기용되었다. 그뒤 1879년에는 황해도관찰사가 되었다.