Если вы используете iptables
, он вернется по первому правилу сопоставления. Если вы хотите, например, разрешить http и запретить другие порты для Китая, убедитесь, что правило разрешения http идет первым:
iptables -A INPUT -d myhost --dport 80 -j ACCEPT
iptables -A INPUT -m set --match-set china src -j DROP
Используя приведенные выше инструкции, вам нужно будет создать ipset
для Китая, используя:
ipset create china hash:net
while read line; do ipset add china $line; done < china.ipblock-file
Я не думаю, что вы можете сделать это, не попробовав правильный ключ или пароль или не проверив конфигурацию сервера.
sshd
с радостью запрашивает у клиента пароль, даже если у вас установлен PermitRootLogin prohibit-password
, и пароль никогда не сработает. Так же просит пароль даже если у вас PermitRootLogin no
и логин не пройдет даже с ключом. Если я правильно помню, на самом деле он даже проходит через PAM, чтобы подделать попытку аутентификации, он просто делает это с известным -недопустимым паролем, так что вы также не можете определить по времени, разрешена ли аутентификация по паролю. Это аналогично для AllowUsers
и т. д.
Конечно, кроме того, использование BatchMode
отключает запрос паролей на стороне клиента (, что упоминается в первую очередь на странице руководства ), поэтому комбинация -o BatchMode=yes -o PreferredAuthentications=password
не очень полезна..
Вам нужно войти в систему и проверить, какие методы аутентификации работают. Если вы можете войти с помощью ключа, то этот ключ используется. Если вы можете войти с паролем, то этот пароль уже используется. После того, как вы вошли в систему, убедитесь, что значение PermitRootLogin
не равно yes
(, значение по умолчанию равно prohibit-password
), и что authorized_keys
root содержит ключ (s ), который он должен содержать, и никаких других.
Надеюсь, вы не сможете это проверить.
Сервер ssh не должен позволять вам получать такого рода информацию о своей внутренней конфигурации извне сервера. В противном случае возникнет угроза безопасности.
Пожалуйста, если вы достигли этой цели, сообщите о своей технике как об ошибке разработчикам openssh.