No, citizenship is not needed to get a social security number. Anyone eligible to work in the U.S., including legal permanent residents ("green card" holders) and those who are here on visas would qualify for a social security number. Some others do as well; I'm not sure of the criteria, but I remember that they get social security cards that say "not valid for employment" or something like that.