При чтении Как ограничить указанного пользователя SSH подключением только с одного IP-адреса или имени хоста? Я подошел к решению проблемы, связанной с конкретными входами в систему, - но это не так не охватывать мое дело.
Мне нужно убедиться, что ssh-соединение с моим хостом, полученное из чего-либо еще, кроме 192.168.10.0/24
, аутентифицировано с помощью ключа. Соединения из 192.168.10.0/24
могут использовать оба (или только на основе пароля, если это является проблемой).
Справочная страница ssh_config
упоминает в разделе PATTERNS, что
можно использовать следующую запись (в
authorized_keys
):< / blockquote>from="!*.dialup.example.com,*.example.com"
Это позволило бы найти решение, прямо противоположное моему: некоторые источники не не могут использовать ключи, но я не вижу, как превратить его в мою нужду.
Как принудительно использовать ssh-ключи, когда клиент не подключается с определенных IP-адресов?
В соответствии с man-страницей вы можете разделить /etc/sshd_config
на разделы, которые соответствуют хостам, первый используемый раздел соответствует:
Таким образом, вы можете иметь:
# everything for your local hosts
Host 192.168.*.*
[...]
RSAAuthentication yes
PasswordAuthentication yes
[...]
# Everything for other hosts
Host *
[...]
RSAAuthentication yes
PasswordAuthentication no
[...]
Для во избежание всего этого дублирования, кажется, нет блоков, которые действительны для определенных хостов:
Host *
[...]
RSAAuthentication yes
[...]
Match 192.168.*.*
PasswordAuthentication yes
Match all