We just started using google cloud compute engine, and to connect to the server using sftp a couple of colleagues did a number of failed login attempts. Now we cannot access our google cloud engine vm instance from our office anymore, on any port directly from our IP. From any other location (IP address) we can access. First we thought it might be a temp block, but it has been a week now so it seems to be rather permanent.
Joinning the party years later, but someone could benefit from this.
Looks like every ubuntu image has
sshguard installed, after a few failed SSH login attempts your IP gets banned/blocked.
You need to connect to your instance from another ip, or use the ssh connection inside web-console from google compute engine.
What you can do is check if your ip has been banned:
sudo iptables --list sshguard --line-numbers --numeric | grep [you.ip.goes.here]
On the output you will have a line with a number at the beginning, that line must be removed (replace [N] with that line number):
sudo iptables --delete sshguard [N]
Then you should be able to connect to your server again.
There are people that suggest adding the ip to the sshguard white list and then restarting the sshguard service... I didn't try it because my i think my solution is safer given the fact that my ip can change. If you happen to need a fixed IP being white listed of solution, comment is here:
Also some doc from sshguard where I got my final answer: https://wiki.archlinux.org/index.php/Sshguard#Unbanning
If the IP were blocked by Google, a notice would have been delivered to the account about the block. If a notice was not received, then the failure to connect is due to some other cause. The suggestions offered by kasperd are good, a likely candidate is some security monitor on the instance.