본관은 상산(商山). 자는 근보(勤父). 경상북도 상주 출신. 무과에 급제한 뒤 야인(野人)의 침입을 막기 위해 주로 함경도 지방의 변방 방어를 맡는 무관으로 활약하였다.
1455년(단종 3)에 첨지중추원사가 되었으며, 이듬해 좌익원종공신(佐翼原從功臣) 2등에 책록되었다. 1456년(세조 2) 충청도수군안무처치사(忠淸道水軍按撫處置使)로 나가 흉년으로 사졸들이 굶주리자 소금을 구워 기근을 구제하였다.
1458년 행회령진병마절제사(行會寧鎭兵馬節制使)가 되었다. 이 때 야인이 대규모로 두만강을 건너 장성(長城)에 침입하자 몸소 적진을 뚫고 들어가 적 20여 명의 목을 베고 돌아왔다. 이 공으로 가정대부(嘉靖大夫)에 오르고 옷감이 하사되었다.
1460년 회령절제사·판회령부사를 거쳐 한성부윤이 되었다. 그런데 부임하기 전에 야인이 또 침입하자, 영의정 신숙주(申叔舟)가 함길도도체찰사로 취임하여 이를 토벌하게 했으며, 신숙주에 의해 유임이 재청되었다.
그리하여 다시 북방 모련위(毛憐衛)의 야인을 맞아 싸워 추장 이하 수십 명을 베는 등 크게 전공을 세우고 돌아와 판한성부사가 되었다.
1461년 병조판서가 되어 직접 전라도의 여러 섬을 수색해 역(役)을 피해 숨어사는 자들을 잡아내기도 하였다. 이듬해 처남 이극배(李克培)가 이조판서가 되자 장령 유계번(柳季藩)은 한가족이 정권을 모두 행사한다 하여 반대했으나 세조의 묵인으로 유임되었다.
곧 평안도도절제사로 나갔다가 1463년(세조 9) 병으로 돌아와 동지중추원사를 역임하였다. 성격이 깨끗하고 곧아 모든 일에 공정했으며, 당시 무장 중에서 가장 독서에 열중하는 사람으로 꼽혔다. 시호는 장절(壯節)이다.