I take it that when you say 'good' you mean 'effective'. If so, a good teacher should possess knowledge of the content (subject); pedagogical knowledge (how to teach); classroom management and instructional skills; knowledge on theories of learning and development.
He/She should also be committed, a good decision maker and a reflective practitioner.
On a personal level, all students like a teacher who can relate well to them on their level.