1866년(고종 3) 천주교 박해사건을 이유로 로즈(Roze,P.G.)제독이 이끄는 프랑스함대가 침공하는 병인양요가 발생하자 별군관(別軍官)으로 참전하여 한성근(韓聖根)·양헌수(梁憲洙) 등과 함께 광성진(廣城鎭)에 주둔하였다.
10월 5일 별무사 최양륜(崔養崙)과 포수 50명, 별파진(別破陣) 3명 등을 인솔하여 덕적포(德積浦) 주변에 매복하던 중 프랑스군함 4척이 이르자 총을 쏘며 교전하게 되었다. 이때 직접 탄환을 뚫고 칼을 빼어 독전한 결과, 프랑스군함이 화염에 싸여 패주하는 전과를 올렸다.
이 공로로 방어사 이력을 허용받았고 삼화부사를 지냈다. 1871년 신미양요 당시에는 부평도호부사로 로저스(Rodgers,J.)제독이 이끈 미국군함 5척이 들어오자 정부의 지시에 따라 직접 미국함대와 교섭하는 한편, 그들의 침공을 비난, 문책하는 항의문을 발송하였다.