본관은 진주(晉州). 자는 여수(汝垂), 호는 옥계(玉溪). 강극성(姜克誠)의 증손으로, 할아버지는 강종경(姜宗慶)이고, 아버지는 현령 강진명(姜晉㫥)이며, 어머니는 안봉(安鳳)의 딸이다.
1649년(인조 27) 별시문과에 을과로 급제하여 홍문관에 소속되었다. 그뒤 승정원주서 · 전적 · 병조좌랑 등을 역임하고, 기장현령(機張縣令)으로 외직에 나갔다. 다시 경직으로 돌아와 1655년(효종 6)에 정언에 이르렀다. 시강원사서를 거쳐 이듬해 경기도사가 되었다가 청주목사로 전직되어, 포곡(逋穀) 2만섬을 서민의 책임이 아니라 하고서 부호들에게서 거두어들이는 용단을 보여 많은 물의를 일으켰다.
1659년(효종 10) 지평을 거쳐 안후열(安後說) · 김수흥(金壽興) · 남구만(南九萬) 등과 함께 암행어사로 선발되어 전라도에 파견되었다. 그해 지평이 되었으나 패초(牌招: 승지가 왕명을 받아 왕의 명령서를 가지고 신하를 부름)에 나가지 않았다 하여 관직에서 내어 쫓기는 것을 요구하는 김익렴(金益廉)의 탄핵을 받았다.
즉위한 지 얼마되지 않은 현종에게 군자와 소인의 구분을 아뢰는 소를 올렸다. 1659년(현종 즉위년) 정주목사로 나가서 강계부사와 의주부윤 등을 역임하였다. 정주목사 시절에는 부호들이 차지한 전답을 서민들에게 돌려주는 한편, 청나라 사신들의 무리한 요구를 단호히 거절하는 기개를 보였다.
강계부사가 되어서는 백성들의 생활을 위하여 당시 나라에서 법으로 금지하였던 인삼 채취를 허락하는 등 선정을 베풀어, 평안감사 민유중(閔維重)의 청으로 가선대부에 올랐다. 그러한 청조(淸操)가 인정되어 숙종조의 청백리로 선정되었다.