The colours of the aurora are determined by the composition of gases in the Earth's atmosphere, the altitude at which the aurora occurs, the density of the atmosphere, and the level of energy involved.
Green, the most common colour seen from the ground, is produced when charged particles collide with oxygen at lower altitudes (around 100-300 km). Occasionally, the lower edge of an aurora will have a pink or crimson fringe, which is produced by nitrogen molecules (around 100 km).
Higher in the atmosphere (300-400 km), collisions with atomic oxygen produce red instead of green. Since the atmosphere is less dense at higher altitudes, it takes more energy and more time to produce red light (up to two minutes), whereas green light can be made quickly at lower altitudes (about one second).
Hydrogen and helium can also produce blue and purple, but those colours tend to be difficult for our eyes to see against the night sky.