SSH: Listen on 2 networks, operating with different rules

I have a set of VMs, which have a network private to them, and then they each have a public IP. Is it possible to have a set of rules for the public IP (say no password authentication, non-standard port) and the have another set of rule for the private network (password authentication, port 22) for ssh?

This is on Ubuntu 10.04


It isn't necessary to configure a second instance for this. Check the "Match" keyword in the sshd_config manpage


Install/configure another instance of sshd to run under the different set of rules. Check out this link for hints.