I have never gotten TRAMP to work. I just use sshfs, which is much easier to use. ("sshfs user@host:~ my_home_at_host") I will also point out that eshell and ansi-term are much better shells for use inside emacs. I used ansi-term for a long time, but gradually weaned myself off bash and into eshell. Now I can write "shell commands" as (loop) invocations. :)
Does TRAMP expect a certain type of shell prompt?