Não tenho certeza de como o PAM precisaria se encaixar nisso. Com uma versão recente do SSH (como o que está disponível no 8.04), deve ser tão fácil quanto usar blocos de Correspondência para o espaço de endereço que você deseja permitir.
Portanto, o seu sshd_config deve conter algo assim.
# global option no password auth (keys only)
PasswordAuthentication no
# permit password from rfc1918
Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
PasswordAuthentication yes