본관은 상주(尙州). 자는 희숙(熙叔). 할아버지는 참봉 김홍진(金洪振)이다. 선대에 철산으로 유배된 것이 계기가 되어 대대로 그곳에서 살았다.
1620년(광해군 12) 무과에 급제하였으며, 1627년(인조 5) 정묘호란이 일어나자 철산에서 의병을 일으켜 곳곳에서 후금군과 싸워 전공을 세웠으며, 그 공으로 당상계(堂上階)에 올라 미곶진첨절제사(彌串鎭僉節制使)가 되었고 표리(表裏: 겉과 속의 옷감)이 하사되었다.
1636년 병자호란이 일어나자 청성진첨절제사(淸城鎭僉節制使)로 웅골성(熊骨城)에서 청나라 군대를 크게 무찔러, 명장 모문룡(毛文龍)의 추천으로 명나라로부터 유격(遊擊)에 임명되고 은패(銀牌)를 받았다.
조청(朝淸) 사이에 화의가 성립되어 평안도 철산의 가도(椵島)에 잔류한 명군을 치기 위해 청나라가 군사를 징발하자, 중영장(中營將)으로 임경업(林慶業)의 휘하에 있었다. 1641년 벽동군수(碧潼郡守)에 이어서 1644년에는 선사포첨절제사(宣沙浦僉節制使)가 되었다.
이 때 임경업이 명나라와 밀통한 사건에 연루되어 옥중에서 죽었다. 1707년(숙종 33) 호조판서에 추증되고, 1736년(영조 12) 철산에 정문이 세워졌으며, 철산의 충무사(忠武祠)에 제향되었다.