Before jumping to any conclusions, try connecting from another network like your friend's WiFi connection.
Based on the message, they're not blocking your connection since you can actually connect to your Pi. The problem here is that your SSH server isn't configured properly.
Now, the misconfiguration may be too broad for me to enumerate all of them. It might be a typo, something might have been uncommented accidentally, syntax error, etc. The most common cause would be you tried to mess around with file-based authentication and failed and/or your app doesn't support it.
Another cause would be your app is simply... how should I say it... fecal matter. In that case, download another one. I recommend Prompt.
If they are, in fact, blocking your connection, then you could use some of the "famous" ports provided you're not using them. Try to forward port 80 or 443 to 22 on your home router and connect to SSH using port 80 or 443 from school.
If the app is not the one to blame or it still happens after using the more famous ports, your Pi might be misconfigured. In that case,
Here's a known working configuration from my own pi. The file is
/etc/ssh/sshd_config. Make a backup of yours and replace it comletely with this one.
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
# Use these options to restrict which interfaces/protocols sshd will bind to
# HostKeys for protocol version 2
#Privilege Separation is turned on for security
# Lifetime and size of ephemeral version 1 server key
# Don't read the user's ~/.rhosts and ~/.shosts files
# For this to work you will also need host keys in /etc/ssh_known_hosts
# similar for protocol version 2
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
# To enable empty passwords, change to yes (NOT RECOMMENDED)
# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
# Change to no to disable tunnelled clear text passwords
# Kerberos options
# GSSAPI options
# Allow client to pass locale environment variables
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
# be allowed through the ChallengeResponseAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via ChallengeResponseAuthentication may bypass
# the setting of "PermitRootLogin without-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
I'm not saying these are the absolute causes. I'm saying that these are the most probable causes