No, SSN is not mandatory for a US bank to open an account for you. However most US banks may require you to physically visit their branch in the USA. Further few banks may ask you for an ITIN in case you do not have a SSN. Read our blogs and service list on how to get an ITIN without visiting the USA.