Как разрешить логин / пароль от определенных хостов и принудительную аутентификацию на основе ключей от других?

При чтении Как ограничить указанного пользователя SSH подключением только с одного IP-адреса или имени хоста? Я подошел к решению проблемы, связанной с конкретными входами в систему, - но это не так не охватывать мое дело.

Мне нужно убедиться, что ssh-соединение с моим хостом, полученное из чего-либо еще, кроме 192.168.10.0/24, аутентифицировано с помощью ключа. Соединения из 192.168.10.0/24 могут использовать оба (или только на основе пароля, если это является проблемой).

Справочная страница ssh_config упоминает в разделе PATTERNS, что

можно использовать следующую запись (в authorized_keys):

from="!*.dialup.example.com,*.example.com"
< / blockquote>

Это позволило бы найти решение, прямо противоположное моему: некоторые источники не не могут использовать ключи, но я не вижу, как превратить его в мою нужду.

Как принудительно использовать ssh-ключи, когда клиент не подключается с определенных IP-адресов?

2
задан 28 February 2019 в 22:43

1 ответ

В соответствии с 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 
0
ответ дан 28 February 2019 в 22:43

Другие вопросы по тегам:

Похожие вопросы: