Ответ 1
Изменение ssh-клиента из C:\Windows\System32\OpenSSH\ssh.exe в C:\Program Files\Git\usr\bin\ssh.exe сработало для меня.
Я установил openssh для окон, и когда я запускаю ssh localhost
я получаю
Плохой владелец или разрешения на C:\Users\gary/.ssh/config
Я рассмотрел эти 2 вопроса https://superuser.com/info/348694/bad-owner-or-permissions-error-using-cygwins-ssh-exe и https://serverfault.com/info/253313/ssh -R eturns -b ad-owner-or-permissions-on-ssh-config, но ни один из ответов не работает для меня. sshd работает как служба как пользователь локальной системы. Я запустил chmod 0600 C:\Users\gary\.ssh\config
и chown gary C:\Users\gary\.ssh\config
. Я также очистил ACL, запустив setfacl -b C:\Users\gary\.ssh\config
а затем chmod 0600 C:\Users\gary\.ssh\config
раз. Я также попытался изменить владельца на SYSTEM и получил ту же ошибку.
Я не уверен, что еще делать, что-то не так с моей настройкой? Я также установил git, который установил mingw, я удалил ssh и sshd из моей установки git, чтобы они не были на моем пути.
Другие команды, которые я icacls "C:\Users\gary\.ssh\config"/setowner gary
- это icacls "C:\Users\gary\.ssh\config"/setowner gary
chown -R gary:1049089 C:\Users\gary\.ssh
ls -la C:\Users\gary\.ssh\config
показывает
-R w -R - -R - 1 gary 1049089 229 3 янв. 14:43 'C:\Users\gary.ssh\config'
он продолжает показывать это даже после смены владельца на SYSTEM, но в свойствах файла в файловом проводнике он показывает SYSTEM как владельца
Изменение ssh-клиента из C:\Windows\System32\OpenSSH\ssh.exe в C:\Program Files\Git\usr\bin\ssh.exe сработало для меня.
Просто получил ту же проблему после переустановки Windows. И легко исправить, просто изменив права доступа к файлу
SYSTEM & Administrators - Full Control
[your username] - Modify & as Owner
Замечания:
C:\Windows\System32\OpenSSH\ssh.exe
и вообще не использую cygwinЯ не уверен, в какой версии Windows вы работаете, но так как это последнее, я бы предпочел Windows 10. Недавно я узнал, что по умолчанию в апреле 2018 года установлен клиент OpenSSH по умолчанию. Затем я обнаружил, что у меня есть два экземпляра OpenSSH: тот, который я установил сам, и тот, который мне дал Windows. Удаление того, которое я установил, вызвало сообщение об ошибке.
Решение, которое работало на меня, заключалось в том, чтобы удалить установленный пользователем OpenSSH, а также папку C:\Users\username\.ssh
, а Windows 10 OpenSSH создать папку при запуске команды в следующий раз. У меня не было никакой конфигурации, которую я беспокоился о потере, но если вы это сделаете, я бы предложил копировать и вставлять содержимое файлов где-то и восстанавливать их потом.
Надеюсь это поможет!
Для тех, у кого все еще есть проблемы после применения владельца + изменения (плюс полный контроль для администраторов): это не сработало для меня. Затем я увидел решение удалить всех других пользователей (включая всех администраторов), что тоже не помогло.
Это сработало для меня:
после того, как я удалил административного пользователя, который был добавлен Windows после входа в мою папку (через окно UAC), он снова заработал для меня.
Надеюсь, это поможет всем, кто сталкивается с этой конкретной проблемой :-)
Используйте FixUserFilePermissions.ps1 для исправления разрешений клиентских файлов - ключей и файлов конфигурации текущего пользователя.
git clone [email protected]:PowerShell/openssh-portable.git
cd openssh-portable/contrib/win32/openssh
.\FixUserFilePermissions.ps1 -Confirm:$false
Я пробовал каждый ответ на это под солнцем, но я все еще не могу использовать SSH через командную строку или Powershell. Работает просто отлично, используя Git Bash. Есть другие идеи?
Если пользователь находится в административной группе, просто сохраните конфигурацию в c:\programdata\ssh\ssh_config вместо% USERPROFILE%.ssh\config, будет работать
Проблема в том, что файлы принадлежат/имеют разрешение для нескольких пользователей.
1- Перейдите в папку. /ssh и для config
& id_rsa
файлы. Из свойств → Безопасность → Дополнительно:
2- Убедитесь, что пользователь, вошедший в систему с ИСПОЛЬЗОВАНИЕМ, является единственным там, где есть пользователь.
Это началось сразу же после того, как я создал другого пользователя с правами администратора, и эта учетная запись начала наследовать доступ к моей папке .ssh.
Вам не нужно менять свои разрешения.
Просто зайдите в .ssh, щелкните правой кнопкой мыши Свойства, вкладка "Безопасность", "Дополнительно". ОТКЛЮЧИТЕ НАСЛЕДОВАНИЕ, затем нажмите на пользователя "Администратор" (который не является вами) и удалите его. Применять. Готово.
Нет изменений в группе или что-то в этом роде, первый ответ правильный. Измените git ssh.exe Как?
Path