Назад | Перейти на главную страницу

Использование 2 пар ключей одновременно для аутентификации ssh

У меня есть 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