의병장. 자는 주서(周瑞). 충청북도 제천군 청풍면에서 수명(秀命)의 아들로 태어났고, 이기문(李基文)에게 배웠다. 성균관에 들어가 수학하였는데, 성균관 유생시절에 정국을 비판하는 상소문을 올려 3년간 유배생활을 하기도 하였으나, 이후 문과에 급제하여 순탄한 관료생활을 하였다. 1905년 11월 을사조약이 강제로 체결되자, 이에 분격하여 관직을 버리고 낙향, 동지를 규합하고 이강년(李康○)을 의병대장으로 추대하였다. 이강년의 휘하에서 좌익장으로 활동하다가, 경상북도 의병장이 되어 문경령(聞慶嶺) 산 아래에서 적군과 교전하였다. 1907년 3월 1일 조령에 포진하여 4월 적과 교전한 뒤 적군 수명을 사살하였으며, 11월에는 문경군 동로면에서 적 8백명과 교전, 53명을 사살하였으나 그뒤 크게 패하여 남은 의병 100여 명을 인솔하고, 충청북도 단양으로 퇴각하였다. 그는 전투에서 일찍이 관료시절에 관여한 바 있는 보부상 조직을 활용하여 전과를 올리기도 하였는데, 덕산 선고리 전투가 대표적인 예이다. 1908년 9월 이강년과 합세, 경상도, 충청도를 회복하고자 하였으나 실패하였다. 결국 청풍 진목리에서 병력을 해산한 그는 이후 만주로 망명하여 항일활동을 지속하였다. 1917년에 비밀리에 귀국하였으나 곧바로 별세하였다. 묘소는 선영인 제천군 수산면 서곡리 하방곡 마을의 산록에 있다. 1977년 12월 13일에 건국포장을 추서 받았다. 호는 청은(淸隱), 별명은 상한(尙翰).