Here-docs are collected "outside" the normal syntax, based on just the input lines. So, you need to have the here-doc separator on a line of its own, and you can't combine that with other syntax. Also, the here-doc separator could itself contain syntax elements, like that `;;`...
E.g. this should print `wat` and `hi, hello`.
#!/bin/sh
cat << "EOF;;"
wat
EOF;;
case x in
x) cat <<-EOF
hi, hello
EOF
;;
y) false;;
esac
Note you need hard tabs before the second `EOF` and the `hi, hello` line, and since stackexchange changes tabs to spaces, **copypasting this directly doesn't work**. That may or may not be an argument for avoiding `<<-` and instead just shoving the here-doc data to the left edge.
* * *
Also `read ls_host; ssh -t ${ls_host}` would allow the user to enter options to `ssh` when entering the hostname, which may or may not be what you want. Might want to use `"${ls_host}"` there, too.