Не удалось запустить службу openssh ssh server на локальный компьютер ошибка 1067
День добрый. Возник вопрос с авторизацией в Windows OpenSSH по ключу.
До этого несколько раз доводилось настраивать без ключей (только по паролю) и вроде бы все было ок.
В этот раз решил сделать авторизацию только по SSH-ключу и напоролся на Permission denied (publickey,keyboard-interactive).
Кратко о сервере:
Сервер - винда 10
Юзер - локальная учетная запись (с правами администратора)
Публичный ключ лежит в authorized_keys в дирректории пользователя (C:\Users\LocalUser\.ssh\authorized_keys).
Всевозможные перезапуски и перезагрузки были.
OpenSSH сервер установлен: (на всякий случай испробованы оба варианта)
1) Параметры -> Приложения -> Дополнительные компоненты -> Сервер OpenSSH
2) Через PowerShell согласно официальной инструкции
Поискав некоторые моменты из лога наткнулся на закрытую issue от 2017 года в которой было упомянуто, что
До этого использовал RSA-ключи и в логе мелькала информация о ключах в духе
Под каждым из которых была строка о том что файл не найден.
После чтения той issue стал использовать ed25519-ключ, теперь стало так:
Собственно в конечном счете в логе мелькает (если я правильно понимаю) отправка ключа
Однако после него SSH пытается пройти авторизацию по другим включенным способам авторизации - если по паролю включена - спрашивает пароль (даже в случае когда ключ явно указан), если выключена - сразу Permission denied (publickey,keyboard-interactive).
Подскажите в чем проблема в этом случае?
Средний 3 комментария
А где логи сервера? Наверняка там ответ.
Публичный ключ у него в authorized _keys там лежит?
Сервер вообще кто? Если винда и юзер - админ, там своя тонкость
MaxKozlov,
Сервер - винда 10
Юзер - локальная учетная запись (с правами администратора)
Публичный ключ лежит в authorized_keys в дирректории пользователя.
Всевозможные перезапуски и перезагрузки были.
С логами сервера протупил (не записал), т.к. подумал что из логов клиента можно информацию вытянуть и понять что к чему.
Извиняюсь за невнимательность и спасибо за уточняющие вопросы.
Логи сервера добавлю в вопрос как только запишу.
Евгений, на винде ,если юзер админ, ключ должен лежать в отдельном файлике рядом с конфигами-в c:\programdata\ssh. Не помню точного названия, но что-то типа adminautorized_keys - там найдёте
Добрался до компа, напишу уж тут :)
В логах сервера видно что за проблема - не те права у того самого файлика, что я упоминал в комментарии
debug3: Bad permissions. Try removing permissions for user: S-1-5-11 on file C:/ProgramData/ssh/administrators_authorized_keys.
Authentication refused.
При подключении к OpenSSH-серверу, установленному, на win и использовании аутентификации по ключу, необходимо обращать внимание на два момента:
1. Если пользователь админ - его публичный ключ должен быть указан в C:\ProgramData\ssh\administrators_authorized_keys
2. Убедиться что владелец файлов *authorized_keys правильный: системных - система, юзерских - юзер, и без лишних доступов.
Например, установить права для системного можно скопировав их с другого файла:
Ещё в комплекте c GitHub идут специальные скрипты для тех же целей:
FixHostFilePermissions.ps1
FixUserFilePermissions.ps1
Они что-то ещё в реестре вроде бы правят
Вариант обхода настроек для этого файла -закомментировать в конфигах его упоминание:
Но это не рекомендуется
Мои лично файлы все в ASCII
Ещё в комплекте идут специальные скрипты для тех же целей:
FixHostFilePermissions.ps1
FixUserFilePermissions.ps1
Они что-то ещё в реестре вроде бы правят
Если я правильно понял - они идут только в комплекте архива с Github Releases, т.к. при установке из "Доп.компонентов" в параметрах установка идет в C:\Windows\System32\OpenSSH и ни по этому пути, ни в C:\ProgramData\ssh таких скриптов не обнаружено (в C:\Program Files и %appdata% я никаких следов не нашел)
Выполнил собственно говоря эти скрипты, сервер перестал жаловаться на разрешения, однако administrators_authorized_keys ему по прежнему не нравится:
debug1: read_keyfile_line: __PROGRAMDATA__/ssh/administrators_authorized_keys line 1 exceeds size limit
debug3: mm_answer_keyallowed: publickey authentication test: ED25519 key is not allowed
Я добавила в службы MySQL с помощью bat-файла:
"C:\Program Files\MySQL\MySQL Server 5.1.72\bin\mysqld" --install-manual MySQL5_1_72 --defaults-file="C:\Program Files\MySQL\MySQL Server 5.1.72\my.ini"
В чём её причина и как избавиться от этой ошибки?
UPD - логи MySQL:
161208 15:03:58 [Note] Plugin 'FEDERATED' is disabled.
C:\Program Files\MySQL\MySQL Server 5.1.72\bin\mysqld: Table 'mysql.plugin' doesn't exist
161208 15:03:58 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
161208 15:03:58 InnoDB: Initializing buffer pool, size = 300.0M
161208 15:03:58 InnoDB: Completed initialization of buffer pool
InnoDB: The first specified data file E:\MySQL Datafiles_5_1_72\ibdata1 did not exist:
InnoDB: a new database to be created!
161208 15:03:58 InnoDB: Setting file
E:\MySQL Datafiles_5_1_72\ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait.
161208 15:03:58 InnoDB: Log file .\ib_logfile0 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile0 size to 60 MB
InnoDB: Database physically writes the file full: wait.
161208 15:03:58 InnoDB: Log file .\ib_logfile1 did not exist: new to be created
InnoDB: Setting log file .\ib_logfile1 size to 60 MB
InnoDB: Database physically writes the file full: wait.
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Doublewrite buffer created
InnoDB: Creating foreign key constraint system tables
InnoDB: Foreign key constraint system tables created
161208 15:03:59 InnoDB: Started; log sequence number 0 0
161208 15:03:59 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist
I get the following error when I try to run the above command:
Get-Command " The term 'sshd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:13
-
((Get-Item (Get-Command sshd).Source).VersionInfo.FileVersion)
Get-Item : Cannot bind argument to parameter 'Path' because it is null.
At line:1 char:12em (Get-Command sshd).Source).VersionInfo.FileVersion)
Server OperatingSystem
Windows Server 2012 R2 Standard
Client OperatingSystem
Windows 10 Pro
What is failing
Open SSH Service will not load
Expected output
Open SSh Service starts succesfully
Actual output
Windows Could not start the OpenSSH SSH Server service on Local Computer.
Error 1067: The process terminated unexpectedly.
I am logged in as a Domain Admin, just FYI.
The text was updated successfully, but these errors were encountered:
1 ответ 1
Очень разочаровывающий самоответ
Отложив эту проблему на один день и вернувшись к ней, я с облегчением и возмущением (более взволнованным, чем облегченным) обнаружил, что все, как ни странно, работает должным образом.
Итак, в чем была проблема?
Никакие настройки не были изменены или изменены - ни на маршрутизаторе, ни на сервере SSH, ни на компьютере клиента SSH. Можно с уверенностью сказать, что маршрутизатор неправильно обрабатывал входящий трафик, несмотря на правильные настройки. Учитывая, что программное обеспечение Dinky Home Router на самом деле не предназначено для переадресации портов, беднягу потребовалось некоторое время, чтобы внести необходимые изменения.
Но это было как 6 часов!
Да, чувак, я знаю. Я провел весь день, пытаясь выяснить, что не так - и никогда не находил этого, потому что в этом не было ничего плохого. Очевидно, что вступление в силу настроек маршрутизатора может занять 6 часов, а может и больше.
Так как я узнаю, что это моя проблема?
Изящный инструмент, с которым я столкнулся во время этой эскапады, это tcpdump . Этот скудный маленький парень нюхает трафик для вас, предлагая ценную информацию о том, что на самом деле происходит. Кроме того, у него есть некоторые суперфильтрующие функции, которые позволяют вам сузить то, на что вы хотите обратить внимание. Например, команда:
Сообщает tcpdump искать трафик через интерфейс wlan1 ( -i = 'interface'), только через порт 22, игнорировать разрешение имен DNS ( -n = 'нет имен разрешений'), и мы хотим видеть как входящий, так и исходящий трафик ( -Q принимает in , out или inout ; по умолчанию используется inout ).
Запустив эту команду на вашем SSH-сервере при попытке подключиться через удаленный компьютер, вы быстро поймете, в чем именно заключается проблема. Есть, по сути, 3 возможности:
И как только вы обнаружили, в чем заключается проблема, решение (как правило) тривиально.
ParatrooperJoe commented Oct 13, 2018
Thanks for the reply.
For Number 1. As far as I can tell, it is set correctly, although the current User (A Domain Admin account) is the owner of the OpenSSH Folder.
It is set correctly as well
It is in the same folder as sshd
I have tried following the steps there but I do not ever get any logs output into the log folder?
mikemaccana commented Dec 26, 2015
JukEboXAuDiO commented Aug 31, 2018
Getting this error with 7.7.2.0p Beta. Is installed in C:\program Files\OpenSSH on Windows Server 2016.
bagajjal commented Oct 13, 2018
When you are running in debug mode, you can login as the current windows log-in user only.
Looks like the current user (hpaba\\sshadmin) is not the windows log-in user on the sshd server machine.
As per logs, your sshd service should start. If you run into any issues then enable the file based logging mentioned in the above URL and provide the sshd.log, ssh client logs (ssh -vvv user@ip)
jyhong836 commented Mar 24, 2018
I meet the same problem when I install OpenSSH under 'D:/XXX/'. Not sure why this happens.
cryp-to-dev commented Jul 25, 2019
The 64bit version too is working now.
I suspect it is a permissions issue with 64bit version only.Thanks @amakhno for pointing out.
The FixHostFilePermissions.ps1 powershell script residing at C:\Program Files\OpenSSH-Win64\FixHostFilePermissions.ps1 resolved the error The OpenSSH SSH Server service terminated unexpectedly .
The sshd service is now starting successfully.
Can be found in services with the OpenSSH SSH Server as display name.
It works for me, thanks!
s2zaman commented Jun 26, 2019
The OpenSSH SSH Server service terminated unexpectedly
After installing the 64bit version of OpenSSH, got this error while starting the service.
Resolved by installing the 32bit version.
ParatrooperJoe commented Oct 13, 2018
Thanks for the reply.
For Number 1. As far as I can tell, it is set correctly, although the current User (A Domain Admin account) is the owner of the OpenSSH Folder.
It is set correctly as well
It is in the same folder as sshd
I have tried following the steps there but I do not ever get any logs output into the log folder?
amakhno commented Nov 23, 2018
Running FixHostFilePermissions.ps1 script solved this problem for me
s2zaman commented Jun 26, 2019 •
The 64bit version too is working now.
I suspect it is a permissions issue with 64bit version only.
Thanks @amakhno for pointing out.
The FixHostFilePermissions.ps1 powershell script residing at C:\Program Files\OpenSSH-Win64\FixHostFilePermissions.ps1 resolved the error The OpenSSH SSH Server service terminated unexpectedly .
The sshd service is now starting successfully.
Can be found in services with the OpenSSH SSH Server as display name.
ParatrooperJoe commented Oct 13, 2018
When attempting to follow the troubleshooting tips, this is what I get in the Powershell window:
EdwinCloud101 commented Nov 26, 2019
This video explains at 2:00 minutes
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Я пытаюсь настроить SSH-сервер на своем локальном компьютере, используя OpenSSH. Когда я пытаюсь выполнить SSH с удаленного хоста на свой локальный SSH-сервер, SSH-сервер не отвечает и время ожидания запроса истекает. Я уверен, что есть действительно очевидное решение, которое я просто пропускаю.
Вот что происходит, когда я пытаюсь подключиться по SSH с удаленного хоста:
Где robots - это мой удаленный хост, а 99.3.26.94 - мой локальный SSH-сервер.
SSH работает
Где arnold мой локальный сервер SSH.
Переадресация портов настроена на маршрутизаторе
Мой домашний маршрутизатор настроен для переадресации портов 80 и 22 на мой SSH-сервер. Интересно, что порт 80 работал безотказно - идет прямо в веб-каталог Apache. Порт 22 - не так много.
NMap говорит, что он отфильтрован
Где robots - это мой удаленный хост, а 99.3.26.94 - мой локальный SSH-сервер.
Это не IPTables (я думаю)
. И у меня нет никаких других брандмауэров - это относительно свежий Debian Netinst.
Итак: что еще это может быть? Это, конечно, похоже на брандмауэр, чтобы просто игнорировать трафик, но если это не маршрутизатор, это не iptables, и это не другой брандмауэр на SSH-сервере, что за хрень еще там ??
РЕДАКТИРОВАТЬ: NetStat Server Output
mikemaccana commented Feb 1, 2016
No probs @manojampalam thank for all your hard work! 💯
manojampalam commented Feb 1, 2016
Thanks for taking care of this.
jyhong836 commented Mar 27, 2018
@bagajjal Yes. Installing in 'c:\program. ' will resolve the issue. Thanks.
ParatrooperJoe commented Oct 13, 2018
also, How am I going to collect logs of errors if the service will not even start?
I'm trying to install the package on windows Server 2008 R2. I applied all steps (except the firewall one) and all passed successfully.
When I try this command
I get this error:
What could be the problem? I couldn't find any log file. The Security in Windows' Event Viewer only says:
The SSHD service terminated unexpectedly. It has done this 2 time(s).
You can see more details on the XML below.
These are the XML details from the Event Viewer:
7034
0
2
0
0
0x8080000000000000
The text was updated successfully, but these errors were encountered:
bagajjal commented Mar 26, 2018
@jyhong836 - Try troubleshooting steps. I would recommend installing OpenSSH under c:\program files.
If you couldn't resolve your problem then please open a new issue, provide sshd log (with DEBUG3 enabled).
egoldin commented Sep 6, 2018
Me too, also C:\program Files\OpenSSH on Windows Server 2016
ParatrooperJoe commented Oct 13, 2018
So that only confuses me even more.
I do not understand why this is so hard to get going?
Guess i am ging to just have to find a 3rd party tool to accomplish this. SFTP setup should not cause this much trouble
Читайте также: