you need to look at the log files, to determine why it failed. If you can't find out why from the logs, you may need to start sshd -i from the command line and watch what it prints. If this isn't helpful, you may need to examine sshd's execution with strace or a debugger.
If this isn't meaningful, Please contact the sysadmin.
If your server is remote, don't close your current terminal window unless you want to take a trip to the datacenter.
It might be helpful if you described your operating system, distribution, version and sshd verstion.
% uname -a
% cat /etc/issue
% rpm -qa | grep ssh
% dpkg -l openssh
% netstat -auntp | grep 22
I like to have a second sshd running on another port and have it started out of init.
this way if my primary sshd dies, I can still get in.
ss:12345:respawn:/usr/sbin/sshd -D -f /etc/ssh/sshd_config_2
On my low memory VPS, I use dropbear instead of openssh. my /etc/inittab contains
SS:2345:respawn:/usr/sbin/dropbear -F -w -d /etc/dropbear/dropbear_dss_host_key -r /etc/dropbear/dropbear_rsa_host_key -p <i>port</i>