linux – 仅允许从内部网络对SSH服务器进行密码验证

我有一个在Ubuntu Precise 12.04上运行的OpenSSH 5.9p1服务器,它接受来自内部网络和Internet的连接.我想要对来自Internet的连接进行公钥认证,但是接受来自内部网络的连接的公钥或密码认证.我可以配置OpenSSH来实现吗?

解决方法

/ etc / ssh / sshd_config中的Match指令允许您有选择地应用配置指令.其中一个可用的匹配条件是连接的源地址,因此可用于实现所需的内容.您可以认禁用密码身份验证,然后为内部网络IP范围的连接启用密码身份验证. (请注意,您还要禁用ChallengeResponseAuthentication以防止使用密码.)此示例允许从所有RFC1918专用IP范围进行密码身份验证.有关详细信息,请参阅 sshd_config manpage.
PasswordAuthentication no
ChallengeResponseAuthentication no

Match Address 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16
    PasswordAuthentication yes

请注意,匹配块应添加文件的末尾,否则其后的所有内容将匹配,直到下一个匹配块. Match块的错误定位可能导致无法连接.

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...