According to the Canada Border Services Agency:
When you enter Canada, a CBSA officer may ask to see your passport and a valid visa, if one is necessary. If you are a citizen of the United States, you do not need a passport to enter Canada. However, you should carry proof of your citizenship, such as a birth certificate, certificate of citizenship or naturalization, as well as photo identification. If you are a permanent resident of the U.S, you should bring your Permanent Resident Card (i.e., green card) with you.
http://www.cbsa.gc.ca/security-securite/admiss-eng.html