There are two account systems here: the set of OS accounts on the machine hosting Hudson, and then there are the set of accounts that Hudson uses to allow access to the webapp. When you see "started by anonymous" that is referring to Hudson's user account system. Hudson's internal accounts are irrelevant to this problem, as they only control access to Hudson's UI and do not interact with executing jobs.
The OS account matters a lot, as ssh is configured to look for host keys and id keys in the .ssh folder of $HOME. You may have passwordless ssh working with your own login, but it also needs to be setup for the user the Hudson service runs as.
Check ssh setup for the user Hudson is running as. If you are running it as a service, it will be the SERVICE user.
The Hudson user (the system account) probably doesn't have passwordless ssh setup, or if it does it might be trying to interactively ask to accept the host key. One quick test would be to restart Hudson using the standalone mode. This will be running as you, so you can see if the freezing issue goes away
java -jar hudson.war
The easist way to fix this is to log in as that user and setup ssh until it works. If it is difficult to become that user, you will want to copy the authorized_keys file and id_rsa or id_dsa file to the .ssh folder of the home directory of that user.
I suggest you separate the service issues from the rest. So try running hudson in standalone mode first - turn off the service and just launch it from a command window. See if that works. If it does, then you know there is a configuration problem with your service account.