First, don't use cat like that. A more elegant way would be to write
while read i
do
# Your stuff here
done < serverlist
Second, I guess you want to run all commands on the remote box. If so, you'll have to tell ssh to execute them. It won't automagically pick up the remaining commands because it can't divine your intentions. Try it like this:
Sorry, forgot something there. Have ssh close all input channels by adding the -n switch. And a typo I've did: it should be while read i instead of while read $i