본관 양주(楊州). 자 공훈(公訓). 시호 문정(文靖). 1858년(철종 9) 정시문과(庭試文科)에 병과로 급제, 1860년 검열(檢閱)이 되고, 1862년(철종 13) 전라우도 암행어사를 거쳐 1874년(고종 11) 강화유수(江華留守), 1876년 충청도관찰사가 되었다. 1878년 탐학(貪虐)하다는 죄로 전남 지도(智島)에 귀양간 뒤 이듬해 풀려나와 1885년 진주부사(陳奏副使)로 청나라에 가서 대원군의 석방을 주청하였다.
귀국 후 협판내무부사(協辦內務府事), 예조 ·형조 판서를 거쳐 독판교섭통상사무(督辦交涉通商事務)가 되어 1888년 조선국 대표로 러시아 대표 베베르와 한로육로통상장정(韓露陸路通商章程)을 체결하여 열국의 이목을 끌었다.
1889년(고종 26) 함경도관찰사로 있을 때 흉년이 들자 양곡의 일본 수출을 막고자
방곡령(防穀令)을 선포, 일본의 반발을 사 일본정부에 11만 원의 배상금을 냈다.
강원도관찰사, 이조 ·공조 판서, 경기도관찰사 ·독판내무부사(督辦內務府事) ·황해도관찰사를 거쳐 충청도관찰사로 있을 때 동학교도들이 교조(敎祖)의 신원청원서(伸寃請願書)를 보내오자 이를 일축, 오히려 더욱 탄압을 가해
동학농민운동의 원인(遠因)이 되었다. 정부는 그를 파면하였다.
그 뒤 의정부찬성으로 복직,
황국협회(皇國協會)를 선동하여
독립협회(獨立協會) 타도에 나서, 고종에게 무고하여 수많은
개화당 요인을 투옥시켰다. 뒤에 의정부 참찬(參贊) ·법부대신 서리를 지내다가,
만민공동회(萬民共同會)의 규탄을 받고,
독립협회를 무고한 사실이 드러나 체포령이 내리자 외국인 집에 피신하였다.
1890년 주일특명전권공사를 지내고, 1902년 궁내부 특진관 ·외부대신, 1905년 참정대신 ·돈령부판사 등을 역임하였다.