Существует ли что-нибудь похожее на аутентификацию по открытому/закрытому ключу для Windows RDP (протокол удаленного рабочего стола) SSH (в Linux) (вместо того, чтобы оставлять открытой обычную аутентификацию по паролю)?
Я нахожу противоречивые ответы на эту тему в Интернете. Я надеюсь, что смогу просто распространять закрытый ключ на клиентских устройствах вместо использования сложного пароля при каждом входе в систему (предполагая, что я не хочу в конечном итоге полностью отключить аутентификацию по паролю).
решение1
Remote Desktop поддерживает клиентские сертификаты X.509 под названием «аутентификация с помощью смарт-карт». Несмотря на название, ондолженработать с локально установленными сертификатами/ключами (т.е. без реальной смарт-карты). Хотя, насколько мне известно, для этого требуется домен Active Directory.
Ну, в общем-то, да, но не совсем так, чтобы это было полезно для вас.
решение2
Без домена AD возможность предотвратить простой доступ по имени пользователя и паролю будет следующей:
- Установка OpenSSH для Windows (изhttps://github.com/PowerShell/Win32-OpenSSH/releasesили в Windows 10 и 2019 это доступная функция),
- Использование SSH-клиента для входа с ключами,
- Отключение аутентификации по паролю через SSH (раскомментируйте и установите «аутентификацию по паролю» на «no» в %ProgramData%\ssh\sshd_config),
- Если вам нужен графический интерфейс, настройте свой SSH-клиент на туннелирование RDP через SSH (https://www.saotn.org/tunnel-rdp-through-ssh/),
- Отключение «обычного» RDP-трафика (TCP-порт 3389) по сети (не на локальном брандмауэре Windows!), чтобы нельзя было использовать вход по паролю.
Возможно, есть лучшие варианты за несколько $$$. Я слышал, например, о решении Yubico (с аппаратным токеном):https://support.yubico.com/support/solutions/articles/15000028729-yubico-login-for-windows-configuration-guide