Log on to the remote shell and use "ps" to find the process ID (pid) of the script you want to kill. Perhaps "ps -ef | grep scriptname". Then use "kill -1 pid" to kill the process. If signal 1 doesn't kill it, move through these signal values in this order - 12, 15 and 9.
As for the output, this is expected behaviour. Even though the ssh script has been started in a sub-shell, the output is still being sent to stdout. You need to redirect the output of your ssh script - either in script or on the ssh command line. For example:-
Code:
ssh user@remote scriptname.sh >> /var/log/remote.log 2>&1 &
The >> means Append output to the log file, the 2>&1 means redirect stderr to wherever stdout is going (i.e. the log file), and the final & means in a sub-shell - as you know.