본관은 여산(礪山). 자는 성난(聖煖), 호는 성암(醒菴).
1875년(고종 12) 무과에 급제, 부장(部將), 중추원 의관(議官) 등을 지냈다.
1895년 을미사변 때 명성황후시해에 동조한 대신들을 제거하려다가 실패하였고, 1904년 일본이 한일의정서(韓日議政書)를 체결하고 한국의 황무지개간권을 요구하자 보안회(保安會)를 조직, 이를 극력반대하여 마침내 철회시켰다.
이 때 일본군에게 연금되어 문초를 받았으나 끝내 항거하고 3개월 만에 풀려나왔다. 1905년 가을 을사조약 직전에 조약반대운동을 사전에 막으려는 일본군의 계획에 의하여 허겸(許蒹) 등 10여 명과 함께 다시 구금되었다가 11월 17일 조약이 체결된 뒤 석방되었다. 그 뒤 연설과 격문 등으로 일제에 항거하였다.