Я пытаюсь сгенерировать ключ хоста ecdsa p521 на моем сервере SSH Windows 10, так как мой клиент поддерживает только ключ ecdsa 521. Таким образом, я выполнил следующие шаги, но мне не удалось загрузить ключ хоста p521 с сервера.
1. Запустите следующую команду из Power Shell как администратор
C:\Windows\System32\OpenSSH\ssh-keygen.exe -C system -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_p521_key
Измените sshd_config, чтобы добавить
HostKey __PROGRAMDATA__/ssh/ssh_host_ecdsa_p521_key KexAlgorithms ecdh-sha2-nistp521 HostKeyAlgorithms ecdsa-sha2-nistp521
Перезапустить службу sshd из Power Shell
Restart-Service : Failed to start service 'OpenSSH SSH Server (sshd)'. At line:1 char:1 Restart-Service sshd ~~~~~~~~~~~~~~~~~~~~ CategoryInfo : OpenError: (System.ServiceProcess.ServiceController:ServiceController) [Restart-Service], ServiceCommandException FullyQualifiedErrorId : StartServiceFailed,Microsoft.PowerShell.Commands.RestartServiceCommand
Проверьте журнал из Even Viewer
sshd: error: Could not load host key: __PROGRAMDATA__/ssh/ssh_host_ecdsa_p521_key
Проблема: Посмотрите на ключ хоста по умолчанию ssh_host_ecdsa_key Я обнаружил, что имя пользователя — nt authority\system@domain_name, но ключ, который я сгенерировал выше, — user@domain_name. Я не уверен, может ли это быть основной причиной
решение1
Обходной путь — положиться на существующие файлы ключей.
- В строке поиска Windows введите Выполнить > %programdata%
- Нажмите ssh, и вы увидите все ключевые файлы и файлы конфигурации ssh.
- Скопируйте путь, указанный выше (должен быть C:\ProgramData\ssh, если это не так, замените C:\ProgramData\ssh на ваш путь, указанный ниже на следующем шаге)
- Откройте Power Shell от имени администратора.
- используя C:\Windows\System32\OpenSSH\ssh-keygen.exe -b 521 -o -t ecdsa -f C:\ProgramData\ssh\ssh_host_ecdsa_key
- Перезапустить службу sshd