경상북도 예천 출생. 단국대학교 정외과를 졸업하고, 국방대학원과 미 육군 초등군사반(初等軍事班) 및 고등군사반(高等軍事班)을 이수하였다. 1949년 5월 정훈(政訓) 제1기로 육군소위에 임관되어 제8사단에서 군대생활을 시작하였다. 6·25전쟁 중에는 대위 및 소령으로서 연대(聯隊) 정보주임과 작전주임을 지냈다.
전후(戰後)에는 대대장, 중령으로 진급한 뒤, 사단 작전참모와 부연대장을 거쳐 육군본부 관리참모부에서 근무하였다. 1961년 5·16군사정변이 일어난 뒤 그 해 혁명최고회의(革命最高會議)에서 치안담당관 겸 선임장교로 있으면서 대령으로 진급하였고, 1962년 내무정책담당관과 1963년 내무위원회 전문위원으로 활동하였다.
그 해 다시 야전부대로 돌아가서 보병 제25사단 제70연대장, 1965년에는 육군 방첩부대 부부대장(副部隊長)이 되었다. 같은 해 육군준장으로 진급하여 육군 인사참모부 인사관리처장에 보임되었다. 1967년에는 월남전에 참전하여 주월(駐越) 100군수사령관(軍需司令官)의 직책을 수행하였다.
1969년 월남에서 귀국한 뒤 보병 제26사단장을 역임하였으며 1971년에 소장으로 진급하여 연구발전사령관, 1974년 동해안경비사령관, 1975년 교육참모부장 등을 거쳐 1977년에 육군중장으로 진급하였다.
1979년 12·12사태와 1980년 5·18민주화운동 때 국방부 군수차관보 및 제3군사령관이던 그는 국가보위비상대책위원회(國家保衛非常對策委員會) 임명직 10인 중 1인이 되었고, 1980년부터 국가보위입법회의 의원으로 있었다.
1980년에 육군대장으로 승진했다가, 이 해에 예편하였다. 그 해 중앙정보부장, 1981년 안전기획부장으로 발탁되어 제5공화국 출범에 기여하였으며, 반공연맹이사장, 총력안보중앙협의회 회장을 역임하기도 하였다.
또 그 동안 제12·13·14대 국회의원이 되었는데, 제12대에서는 서울올림픽지원 위원장으로, 제13대에서는 국방분과위원장(國防分科委員長)으로 활동했으며, 제14대에서는 의원직을 중도에 사퇴하였다.
1996년에 12·12 및 5·18민주화운동 관련 재판에 회부되어 제1심과 제2심에서 유죄선고를 받았으나, 대법원 상고심 재판중인 1997년에 사망함으로써 공소기각 처분을 받았다. 을지무공훈장과 충무무공훈장, 그리고 보국훈장 통일장·국선장 등을 받았다.