У меня есть ssh-сервер, работающий на raspberry pi. К этому ssh-серверу может получить доступ только 1 пользователь на моем ноутбуке ubuntu.
Я создал 2 пары ключей ssh, используя:
ssh-keygen -t ed25519 -o -a 100
ssh-keygen -t rsa -b 4096 -o -a 100
Два открытых ключа добавлены к ~ / .ssh / authorized_keys на ssh-сервере.
Когда я просматриваю файл authorized_keys, он выглядит следующим образом:
ssh-ed25519 ...
ssh-rsa ...
Я хочу двойную аутентификацию, при которой ОБЕИ пары ключей проверяются перед установкой ssh-соединения. В моем случае я заметил, что можно подключиться всякий раз, когда у меня аутентифицирована 1 пара ключей.
Любезно помочь.
Да, вы можете настроить свой сервер так, чтобы он требовал множественных открытых ключей, как описано в AuthenticationMethods
sshd_config ключевое слово:
Если метод открытого ключа указан более одного раза, sshd (8) проверяет, что ключи, которые были успешно использованы, не используются повторно для последующей аутентификации. Например, «Открытый ключ, открытый ключ» требует успешной аутентификации с использованием двух разных открытых ключей..
Итак, чтобы проверить это на одном пользователе с именем тест, можно добавить это в конец sshd_config
файл (и перезагрузите конфигурацию):
Match User test
AuthenticationMethods publickey,publickey
А затем добавьте два открытых ключа в ~test/.ssh/authorized_keys
по-прежнему.
На стороне клиента, если ключи недоступны, например, при запущенном ssh-агент необходимо указать оба ключа в качестве параметров, например:
ssh -i ~/.ssh/id_rsa -i ~/.ssh/id_ed25519 test@server