SSH аутентификация с открытым ключом (не секретным ключом)
Можно ли подключиться к серверу с помощью открытого ключа? Сервер хранит закрытый ключ в authorized_keys
и клиент может соединиться с:ssh -i id_rsa.pub server
Как и в случае с открытыми / закрытыми ключами, все обстоит иначе: клиент хранит открытый ключ, а сервер - закрытый ключ.
Теперь причина: для машин, развертываемых на клиентах, я хочу настроить удаленное соединение для спасения машин в случае проблем.
- машина инициирует обратное SSH-соединение с сервером аварийного восстановления: подключитесь с помощью открытого ключа (то же самое на всех машинах:
ssh -i id_rsa.pub -NR 64000:localhost:22 rescue@server
) - машина открывает канал, но не может выполнять команды (подскажите
/bin/false
) - на сервере, сделайте SSH к машине через открытый канал и аутентифицируйтесь с закрытым ключом (обычный способ:
ssh -i id_rsa -p 64000 localhost
).
1 ответ
Решение
Вы не можете использовать ключи для аутентификации в порядке, противоположном частному / общедоступному, из-за способа работы асимметричной криптографии.
Альтернативное решение для вас может заключаться в использовании сертификатов openssh, как описано на страницах руководства и во многих инструкциях.