You generally don't present your SSN to a prospective employer until you are offered a job or need to provide the information for background checks. Providing your SSN is required to be employed in the US, so it's not an unreasonable request, however, they do not need your SSN until they decide to hire you or have enough interest in you to do background checks, at which point you should give it to them.
You should only reveal your SSN to a prospective employer if you actually desire to be hired. If you are okay with being rejected, there's no need to do that. Nobody can force you to tell 'em your SSN. It's just that many employers like to check their applicants' background and credit history, so if you are not okay with that, just say no and apply somewhere else.