How can I allow SSH password authentication from only certain IP addresses?
Solution 1:
Use a Match
block at the end of /etc/ssh/sshd_config
:
# Global settings
…
PasswordAuthentication no
…
# Settings that override the global settings for matching IP addresses only
Match address 192.0.2.0/24
PasswordAuthentication yes
Then tell the sshd service to reload its configuration:
service ssh reload
Solution 2:
you can add:
AllowUsers [email protected].*.*, [email protected].*.*
this changes default behaviour, really deny all other users from all hosts. Match block available on OpenSsh version 5.1 and above.