1866년(고종 3) 병인양요 때 순무영(巡撫營)의 초관(哨官)으로서 집사(執事) 지홍관(池弘寬)과 함께 문수산성(文殊山城)을 지키다가 프랑스함대에서 상륙한 적의 대부대를 산성 남문에서 격파하였으나 결국 병력이 부족하여 패하고 말았다.
그 뒤 같은해 봉상시봉사·병조좌랑, 1867년 은산현감·통진부사·첨지중추부사 등을 지냈으며, 1881년 별기군(別技軍)이 창설되자 정령관(正領官)으로서 좌부령관(左副領官) 윤웅렬(尹雄烈)과 같이 신식군사훈련에 힘썼다.
같은해 안기영(安驥泳) 등이 흥선대원군의 서자 이재선(李載先)을 왕으로 추대하려던 사건에 연루되어 윤웅렬 등과 함께 투옥되었다가 곧 석방되었다. 그뒤 병조참판을 거쳐 1893년 한성판윤, 1896년 중추원의관(中樞院議官), 1899년 궁내부특진관(宮內府特進官)을 역임하였다.