Дозволи приватного ключа SSH за допомогою Git GUI або ssh-keygen занадто відкриті


244

Останнім часом мені не вдалося клонувати або підштовхувати до github, і я намагаюся знайти першопричину.

Це на вікнах

У мене є cygwin + git, а також msysgit.

Msysgit був встановлений із наступними параметрами:

  • OpenSSH
  • Використовуйте Git з командного рядка Windows

Це дає мені 4 середовища, щоб спробувати використовувати git у:

  • Підказка Windows cmd
  • Powershell
  • Гіт Баш
  • Сігвін

Якось мені вдалося потрапити в таке становище, коли при спробі клонування сховища за допомогою msysgit, cmd.exe або Powershell я отримую таку помилку:

> Initialized empty Git repository in
> C:/sandbox/SomeProject/.git/
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> @    WARNING: UNPROTECTED PRIVATE KEY FILE!          @
> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
> Permissions 0644 for
> '/c/Users/Ben/.ssh/id_rsa' are too
> open. It is recommended that your
> private key files are NOT accessible
> by others. This private key will be
> ignored. bad permissions: ignore key:
> /c/Users/Ben/.ssh/id_rsa Permission
> denied (publickey). fatal: The remote
> end hung up unexpectedly

Для цього використовується папка .ssh у моїй папці c: \ users \ ben \, якою використовується msysgit. Я підозрюю, що Cygwin працює, тому що папка .ssh розміщена в іншому місці, але я не знаю, чому

У Git Bash я перевіряю дозволи:

$ ls -l -a ~/.ssh

Що дає мені:

drwxr-xr-x    2 Ben      Administ        0 Oct 12 13:09 .    
drwxr-xr-x   34 Ben      Administ     8192 Oct 12 13:15 ..    
-rw-r--r--    1 Ben      Administ     1743 Oct 12 12:36 id_rsa
-rw-r--r--    1 Ben      Administ      399 Oct 12 12:36 id_rsa.pub    
-rw-r--r--    1 Ben      Administ      407 Oct 12 13:09 known_hosts

Ці дозволи, мабуть, занадто розслаблені. Як вони потрапили таким чином, я поняття не маю.

Я можу спробувати їх змінити ...

$ chmod -v -R 600 ~/.ssh

яка мені говорить:

mode of `.ssh' changed to 0600 (rw-------)
mode of `.ssh/id_rsa' changed to 0600 (rw-------)
mode of `.ssh/id_rsa.pub' changed to 0600 (rw-------)
mode of `.ssh/known_hosts' changed to 0600 (rw-------)

Але це, здається, не має ефекту. Я все одно отримую ту саму помилку і роблю

$ ls -l -a ~/.ssh

дає ті ж дозволи, що і раніше.

ОНОВЛЕННЯ:

Я намагався виправити дозволи на ці файли в cygwin, і cygwin повідомляє про їхні права правильно, gitbash не робить: alt text http://cdn.cloudfiles.mosso.com/c54102/app7962031255448924.jpg

Будь-які ідеї, як я можу реально виправити ці дозволи?


1
Ви можете сказати нам, що є рідною файловою системою, яку використовує C: \ Users \ Ben \. Здається, що файлова система не підтримує реальних дозволів, або відображення між оболонкою та файловою системою не працює належним чином. Чи можете ви змінити дозволи через Windows ACL?
Чен Леві

Я використовую Windows 7. Я можу змінити дозволи на це, але якими вони повинні бути? Усі документи github / ssh кажуть, що вам потрібно 0600, але я поняття не маю, що це означає в Windows ACL.
Бен Шейрман

2
Ага ... тут трохи побічного позначення, але chmod-ing каталогу до 600 - погана ідея. Каталоги (і виконувані файли) завжди на одну цифру вище (700 не 600, 755 не 644). Якщо це зробити в каталозі, це зробить його неможливим. Див. Dartmouth.edu/~rc/help/faq/permissions.html для більш детальних пояснень.
Марк Embling

Ви проти використання PuTTY?
Грег Бекон

якщо це вирішує мою проблему, то ні, але мені цікаво дізнатися, чому ця установка не працює для мене.
Бен Шейрман

Відповіді:


361

Ви змінили дозволи на весь каталог, що я погоджуюся з Splash - це погана ідея. Якщо ви можете згадати, що таке оригінальні дозволи для каталогу, я б спробував повернути їх до цього, а потім зробіть наступне

cd ~/.ssh
chmod 700 id_rsa

всередині папки .ssh. Це встановить файл id_rsa на rwx (читання, запис, виконання) лише для власника (ви) та нульовий доступ для всіх інших.

Якщо ви не можете згадати, що таке початкові налаштування, додайте нового користувача та створіть набір ключів SSH для цього користувача, створивши нову папку .ssh, яка матиме дозволи за замовчуванням. Ви можете використовувати цю нову папку .ssh як посилання на дозволи для скидання .ssh папки та файлів.

Якщо це не працює, я б спробував видалити msysgit, видаливши всі папки .ssh на комп’ютері (тільки для безпечного заходу), потім перевстановив msysgit з потрібними налаштуваннями і спробую запустити спочатку (хоча я думаю, ви мені сказали ви вже пробували це).

Відредаговано: Також щойно знайшли це посилання через Google - Виправлення "ПОПЕРЕДЖЕННЯ: НЕЗАБОРОНЕНОГО ПРИВАТНЕ КЛЮЧОВИЙ ФАЙЛ!" в Linux Хоча він орієнтований на Linux, це може допомогти, оскільки ми говоримо про дозволи дозволу на liunx та інше.


2
Ця відповідь спеціально стосується використання cygwin або msysgit (оскільки msysgit використовує підмножину cygwin або, можливо, mingw32). Проблема - це дозвіл на файл. Git любить працювати з (в основному) правами на Linux (можливо, продуктом цільової аудиторії). Як відомо, використання git.exe в оболонці Winodws має проблеми, я б радив дотримуватися msysgit. Принаймні, поки GitSharp повністю не працює.
Кобі

2
Це не працює у Windows 8 та моїй установці cygwin за січень 14 року, як після chmod 700, він показує файл як rwxrwx ---. Групові дозволи повинні бути встановлені на те, на що я встановив дозволи користувача, і я не можу використовувати свої ключі.
Дін Гіллер

1
@DeanHiller, дозвіл 700 повинен виглядати так -rwx------. Отже, те, що ви показуєте, не вірно, якщо ви правильно виконали команду chmod.
Кобі

5
@Koby nope, це була помилка з роботою aroudn ... потрібно використовувати chgrp -R Users ~ / .ssh, а потім chmod працює і насправді правильно змінює дозволи ..... відомий помилку я нарешті знайшов на інший пост.
Дін Гіллер

2
Я можу переконатися, що в GitBash для Windows є якась помилка, де або правильні дозволи не можуть бути встановлені за допомогою chmod, або дозволи неправильно прочитані. chmod 600 id_rsd; ls -l id_rs -> -rwx-r - r--
Charlweed

74

Існує помилка з chmod cygwin, зверніться до:

/superuser/397288/using-cygwin-in-windows-8-chmod-600-does-not-work-as-expected

chgrp -Rv Users ~/.ssh/* 
chmod -vR 600 ~/.ssh/id_rsa

З будь-якої причини відображення з дозволів Windows на cygwin / * nix-подібні дозволи є трохи нечіткими. Незважаючи на те, що я видалив дозволи всіх інших користувачів на стороні Windows, cygwin все ж застосував дозволи для мене, користувача , до іншої групи з назвою None. (Я вважаю, що це стандартна процедура, коли група не була чітко визначена). Ця зміна в явній групі Usersнібито дозволила cygwin відокремити дозволи, і я, нарешті, міг встановити 600 замість автоматичного 660.
t-mart

3
Це фактично правильна відповідь. Той, хто проголосував за правильну відповідь - я думаю, що люди, які проголосували за це, були користувачами Linux і не усвідомлювали, що він виконує команду правильно. У мене була та сама проблема з cygwin сьогодні. Дякую!
michaelday

Перш ніж застосовувати це рішення, коли я використовував chmod 600git, то скаржився, що мої дозволи все-таки є 0660. Виправлення права власності на групу змушує chown застосовуватися правильно.
Гільгерме Родрігес

1
Я оновив Cygwin, і це спрацювало. Вони повинні виправити помилку.
Данкан Кальверт

17

Для * nix систем очевидний виправлення є chmod 600 id_rsaofc, але для Windows 7 мені довелося на деякий час вдарити головою об стіну, але тоді я знайшов магічне рішення:

перейдіть до "Мій комп'ютер" / Клацніть правою кнопкою миші / Властивості / Розширені налаштування системи / Змінні середовища та ВИДАЛУЙТЕ змінну (можливо, із системного та користувацького середовища):

CYGWIN

В основному, його недолік у mingw32 використовується git windows binary, бачачи всі файли 644 та всі папки 755 завжди. Видалення змінної оточення не змінює цю поведінку, але воно спокійно каже ssh.exe ігнорувати проблему. Якщо ви встановите належні дозволи для свого id_rsa за допомогою налаштувань безпеки дослідників (насправді немає необхідності мати там іншого користувача, крім вашого власного, не "всіх", не "адміністраторів", не "системних". Жодного. Тільки ви) , ти все одно будеш захищений.

Тепер, чому mingw32, інша система , ніж Cygwin, зробило б будь-який використання змінної оточення CYGWIN, поза мною. Мені схоже на помилку.


3
Це для мене не вийшло. Я все ще отримую повідомлення "НЕЗАБОРОНЕНОГО ПРИВАТНЕ КЛЮЧОВИЙ ФАЙЛ". Просто хотів повідомити вас у випадку, якщо хтось інший натрапить на цю нитку з подібними результатами.
Люк

Працювали для мене. Це все ж асинін. Я вже навіть не використовую Cygwin. Крім того, як ти це зрозумів?
гамма

13

Я на XP і це дозволило Git Bash спілкуватися з Github (після великих розладів):

  1. копіювати c:\cygwin\bin\cyg*(~ 50 файлів) уc:\Program Files\Git\bin\
  2. скопіювати c:\cygwin\bin\ssh.exeв c:\Program Files\Git\bin\(перезапис)
  3. Створіть файл, c:\Documents and Settings\<username>\.ssh\configщо містить:

    Host github.com
        User git
        Hostname github.com
        PreferredAuthentications publickey
        IdentityFile "/cygdrive/c/Documents and Settings/<username>/.ssh/id_rsa"
    
  4. (необов’язково) Використовуйте ssh -v git@githubдля перегляду налагодженого з'єднання.

  5. Спробуйте поштовх!

Передумови: Загальна проблема полягає в поєднанні цих двох:

  • BUG: mingw32 сприймає всі файли як 644 (читати інші / для групи), і нічого, що я намагався в mingw32, cygwin або Windows, не могло це виправити.
  • Версія SSH mingw32 не дозволяє це використовувати для приватних ключів (як правило, хороша політика на сервері).

Це не шви не потрібно , щоб зробити копію файлу , c:\Documents and Settings\<username>\.ssh\configтак як ви замінили c:\Program Files\Git\bin\ssh.exe з c:\cygwin\bin\ssh.exe. Правильно?
爱国者

Погодьтеся з коментарем "сильно засмучений". Щодо гітоліту, я дотримувався цих кроків, копіюючи cygwin / bin / cyg * в мій Git dir (PortableGit - або - програмні файли / Git), і виявив, що зможу потім використовувати git з Git-Bash, але не cygwin bash. Додавання каталогів PortableGit та Cygwin до мого PATH також працювало з обмеженим успіхом ... але все ж мені довелося перемістити PortableGit / bin / ssh.exe {,. Bak}, щоб його не випадково використовували (навіть якщо це той самий, що і c: /cygwin/bin/ssh.exe). В основному ssh.exe потрібно запустити з каталогу cygwin через інші залежності, які не були скопійовані.
Майкл

Хоча зараз для мене це працює, поруч спробувати було б просто додати і Git, і Cygwin до PATH, і перемістити Git's ssh.exe з шляху, щоб використовувати ssh.exe cygwin (з каталогу бін cygwin).
Майкл

Додайте LogLevel DEBUGдо .ssh \ config файл, щоб отримати вихід налагодження з процесу ssh.exe, запущений git.exe.
кнб

Дякую - це рішення спрацювало для мене! Зокрема, з c: \ cygwin \ bin \ я скопіював ssh.exe, cygcrypto-0.9.8.dll, cygwin1.dll, cygminires.dll та cygz.dll в C: \ Program Files \ Git \ bin \.
зв’язок байтів

10

Для Windows 7 з використанням Git, знайденого тут (він використовує MinGW, а не Cygwin):

  1. У Windows Explorer, клацніть правою кнопкою миші файл id_rsa та виберіть Властивості
  2. Перейдіть на вкладку Безпека та натисніть Редагувати ...
  3. Поставте прапорець Заборонити поруч із Повний контроль для всіх груп ОКРЕМЕНІ Адміністратори
  4. Повторіть команду Git

1
Це було для мене, але тепер у мене з’явився новий випуск, який ssh ​​не любить мій пароль, будь-який пароль, який я надаю своєму ключовому файлу.
Джейсон Саудвелл

7

Добре, ось ось як я насправді змусив змінити свої файли Windows щодо самих дозволів на Win7: Знайдіть свій ssh ​​ключ у Windows Explorer: C: \ Users [your_user_name_here] .ssh \ id_rsa

Клацніть правою кнопкою миші на файл> Властивості> вкладка Безпека> Кнопка Додатково> Змінити дозволи

Тепер видаліть усіх, хто насправді не є вашим ім'ям користувача. Сюди входять користувачі адміністратора та системи. У цей момент у вас може виникнути діалог про успадкування дозволів - виберіть варіант, який НЕ успадковується - оскільки ми хочемо лише змінити цей файл.

Натисніть кнопку ОК і збережіть до завершення.

Я боровся з цим цілими днями, тому що мої вікна не змінили дозволи файлів із командного рядка. Таким чином, це також робиться ЗАСТОСНО - замість того, щоб використовувати захоплюючі робочі кола, які можуть мати незвичайні наслідки.


6

Змінення дозволів на файли з "Властивості", відключення успадкування та запуск chmod 400 не працювало для мене. Дозволи для мого файлу з приватним ключем були:

-r - r ----- 1 alex Немає 1766 8 березня 13:04 /home/alex/.ssh/id_rsa

Тоді я помітив, що група була None, тому я просто побіг

chown alex: Адміністратори ~ / .ssh / id_rsa

Тоді я міг успішно змінити дозволи з chmod 400 і запустити git push.


4

Для користувачів MAC:

Змініть налаштування файла ключових пар, ввівши це в терміналі:

chmod og-r *filename.pem*

(переконайтеся, що ви знаходитесь у правильному каталозі, або ім'я файлу шляху в команді правильно).



2

Нещодавно переглянувши проблему, і це один із найкращих результатів Google, я думав, що я зможу скористатися простою роботою, задокументованою в дискусії тут: http://code.google.com/p/msysgit/issues/detail?id = 261 # c40

Просто передбачає перезапис mysys ssh.exe своїм cygwin ssh.exe


2

У мене була та сама проблема в Windows XP зовсім недавно. Я спробував chmod 700 у файлі ~ / .ssh / id_rsa, але, схоже, це не спрацювало. Коли я переглянув дозволи, використовуючи ls -l на ~ / .ssh / id_rsa, я міг побачити, що мої ефективні дозволи все-таки були 644.

Тоді я згадав, що дозволи Windows також успадковують дозволи від папок, а папка все ще відкрита для всіх. Рішенням може бути також встановлення дозволів для папки, але я думаю, що кращим способом було б сказати системі ігнорувати спадкування для цього файлу. Це можна зробити, скориставшись розширеною опцією на вкладці безпеки у властивостях файлу та зніміть позначку "успадкувати від батьківських дозволів ..."

Це може бути корисним для інших із тією ж проблемою.


1

Зараз я граю з Git 1.6.5, і я не можу повторити ваше налаштування:

Administrator@WS2008 /k/git
$ ll ~/.ssh
total 8
drwxr-xr-x    2 Administ Administ     4096 Oct 13 22:04 ./
drwxr-xr-x    6 Administ Administ     4096 Oct  6 21:36 ../
-rw-r--r--    1 Administ Administ        0 Oct 13 22:04 c.txt
-rw-r--r--    1 Administ Administ      403 Sep 30 22:36 config_disabled
-rw-r--r--    1 Administ Administ      887 Aug 30 16:33 id_rsa
-rw-r--r--    1 Administ Administ      226 Aug 30 16:34 id_rsa.pub
-rw-r--r--    1 Administ Administ      843 Aug 30 16:32 id_rsa_putty.ppk
-rw-r--r--    1 Administ Administ      294 Aug 30 16:33 id_rsa_putty.pub
-rw-r--r--    1 Administ Administ     1626 Sep 30 22:49 known_hosts

Administrator@WS2008 /k/git
$ git clone git@github.com:alexandrul/gitbook.git
Initialized empty Git repository in k:/git/gitbook/.git/
remote: Counting objects: 1152, done.
remote: Compressing objects: 100% (625/625), done.
remote: Total 1152 (delta 438), reused 1056 (delta 383)s
Receiving objects: 100% (1152/1152), 1.31 MiB | 78 KiB/s, done.
Resolving deltas: 100% (438/438), done.

Administrator@WS2008 /k/git
$ ssh git@github.com
ERROR: Hi alexandrul! You've successfully authenticated, but GitHub does not pro
vide shell access
Connection to github.com closed.

$ ssh -v
OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007

chmod також не змінює дозволи на файли для моїх ключів.

Середовище:

  • Windows Server 2008 SP2 на NTFS
  • користувач: адміністратор
  • Варіанти середовища:
    • PLINK_PROTOCOL = ssh
    • ГОЛОВНА = / c / профілі / додому

Оновлення: Git 1.6.5.1 також працює.


цікаво. Схоже, ви використовуєте варіант шпаклівки?
Бен Шеерман

1

Це особливо пов'язана проблема в Windows, де недостатньо лише правильно chmod файлів. Ви повинні налаштувати своє оточення.

У Windows це працювало для мене:

  1. Встановіть cygwin.

  2. Замініть msysgit ssh.exe на cygwin's ssh.exe.

  3. Використовуючи cygwin bash, chmod 600 файл приватного ключа, який був для мене "id_rsa".

  4. Якщо вона все ще не працює, перейдіть до Панелі управління -> Властивості системи -> Додатково -> Змінні середовища та додайте наступну змінну середовища. Потім повторіть крок 3.

    Змінне значення
    CYGWIN sbmntsec


1

Мені вдалося виправити це, зробивши дві речі, хоча, можливо, вам не доведеться робити крок 1.

  1. копіювати з cygwin ssh.exe та всіх cyg * .dll у каталог біт Git (це може не бути необхідним, але це крок, який я зробив, але це одне не виправило)

  2. виконайте кроки з: http://zylstra.wordpress.com/2008/08/29/overcome-herokus-permission-denied-publickey-problem/

    Я додав деталі до файлу ~ / .ssh / config:

Хост heroku.com Ім'я хоста
heroku.com
Порт 22
ІдентичностіОдинно так
IdentityFile ~ / .ssh / id_heroku
TCPKeepAlive так
користувача

Мені довелося використовувати Користувача в якості моєї адреси електронної пошти для heroku.com Примітка: це означає, що вам потрібно створити ключ, я дотримувався цього, щоб створити ключ, і коли буде запропоновано ім'я ключа, обов’язково вкажіть id_heroku http: / /help.github.com/win-set-up-git/

  1. потім додайте ключ:
    heroku ключі: add ~ / .ssh / id_heroku.pub

1

Трюк для мене - оновити змінну середовища CYGWIN : " tty nodosfilewarning ". Навіть не потрібно було chmod ключа.


0

Не пряма відповідь на основне запитання, але на ваше запитання про те, як працює папка cygwin ... Як правило, cygwin ставить усі "ваші" файли під еквівалент c: \ cygwin \ home \ username. Він обробляє цю папку для будь-яких налаштувань користувача, а не каталогу користувачів Windows.


0

Якщо немає причин, щоб ви хотіли зберегти цю приватну / відкриту пару ключів (id_rsa / id_rsa.pub) або насолоджуєтесь ударом головою об стіну, я рекомендую просто відтворити їх і оновити ваш відкритий ключ на github.

Почніть із створення резервної копії каталогу ~ / .ssh.

Введіть наступне та відповідь "у" на те, чи хочете ви переписати існуючі файли.

ssh-keygen -t rsa

Скопіюйте вміст відкритого ключа у буфер обміну. (Нижче описано, як слід це робити на Mac).

cat ~/.ssh/id_rsa.pub | pbcopy

Перейдіть до свого облікового запису на github та додайте цей ключ.

Name: My new public key
Key: <PASTE>

Вийдіть зі свого терміналу та перезапустіть новий.

Якщо ви отримуєте безглузді повідомлення про помилки на кшталт "Введіть свій пароль" для свого відкритого ключа, коли ви жодного разу не вводили його, розгляньте це з початку техніки. Як ви бачите вище, це не складно.


0

Мені ніколи не вдалося змусити працювати повністю в Powershell. Але в оболонці git bash у мене не було проблем, пов’язаних з дозволом, і мені не потрібно було встановлювати chmod і т. Д. ... Після додавання ssh до Github я працював.



0

Ви скопіювали файл ключів з іншої машини?

Я щойно створив id_rsaфайл на клієнтській машині, потім вставив ключ, який я хотів. Немає проблем з дозволом. Нічого не встановлювати. Це просто спрацювало. Він також працює, якщо ви використовуєте PuTTYgen для створення приватного ключа.

Можливо, якась прихована групова проблема, якщо ви копіюєте її з іншої машини.

Тестували на двох машинах Windows 8.1. Використання піднесеного тексту 3 для копіювання та вставки приватного ключа. Використання Git Bash (Git-1.9.4-preview20140611).


0

Після оновлення установки Cygwin до версії близько лютого 2015 року ( 1.7.34(0.285/5/3) 2015-02-04 12:14 x86_64 Cygwin) я раптом наткнувся наUNPROTECTED PRIVATE KEY FILE попередження.

Я вирішив цю проблему після запуску наступної команди:

setfacl -s u::rw-,g::---,o:--- ~/.ssh/id_rsa

( Інша відповідь на інше питання дає більше контексту)


0

@ koby відповідь не працює для мене, тому я вніс трохи зміни.

cd ~/.ssh
chmod 700 id_rsa.pub

Це добре працює для мене на Mac.


0

У мене був такий самий випуск у Windows 10, де я намагався SSH перейти у коробку Vagrant. Це здається помилкою у старій версії OpenSSH. Що для мене спрацювало:

  1. Встановіть останню версію OpenSSH з http://www.mls-software.com/opensshd.html
  2. де.exe ssh

(Зверніть увагу на ".exe", якщо ви використовуєте Powershell)

Можливо, ви побачите щось на кшталт:

C:\Windows\System32\OpenSSH\ssh.exe
C:\Program Files\OpenSSH\bin\ssh.exe
C:\opscode\chefdk\embedded\git\usr\bin\ssh.exe

Зауважте, що у наведеному вище прикладі останній OpenSSH займає друге місце в шляху, тому він не буде виконуватися.

Щоб змінити замовлення:

  1. Клацніть правою кнопкою миші кнопку Windows -> Налаштування -> "Редагування змінних системного середовища"
  2. На вкладці "Заздалегідь" натисніть "Змінні середовища ..."
  3. У розділі Системні змінні редагуйте "Шлях".
  4. Виберіть "C: \ Program Files \ OpenSSH \ bin" та "Move Up" так, щоб воно з’явилося вгорі.
  5. Натисніть кнопку ОК
  6. Перезавантажте консоль, щоб застосувати нові змінні середовища.

0

У моїй системі трохи безлад з bash / cygwin / git / msysgit / можливо-ще ...

chmodне впливало ні на ключ, ні на configфайл.

Тоді я вирішив підійти до нього з Windows, яка працювала.

  1. Клацніть правою кнопкою миші файл, дозвіл якого потрібно виправити.
  2. Виберіть Properties.
  3. Виберіть Securityвкладку.
  4. Клацніть Advancedбіля нижньої частини.
  5. Клацніть Changeпоруч Ownerіз вершиною.
  6. Введіть "My-Awesome-Username" (очевидно, змініть це на поточне ім'я користувача Windows) і натисніть Check Names, а потім OK.
  7. У розділі Permission entries:Виділіть кожного користувача, який не є "Моє чудове ім'я користувача", і виберіть Remove. Повторіть це, поки не залишиться єдине "Моє чудове ім'я користувача".
  8. Виберіть "My-Awesome-Username" та натисніть Editнижче.
  9. Переконайтесь, що Type:вгорі встановлено значення Allowта встановіть прапорець біля Full control.
  10. Хіт OK, Apply, OK, OK.

  11. Спробуйте ще раз ...

Здається, іноді макет-баш не може контролювати право власності на файл. Це особливо дивно, оскільки воно генерується із макет-баш-сценарію. Піди розберися.


0

Жоден із запропонованих тут шляхів обходу (chmod / chgrp / setfacl / windows perms) не працював для мене з msys64 на корпоративній машині Windows 7. Врешті-решт я вирішив проблему за допомогою агента ssh з ключем, наданим на stdin. Додавання цього до мого .bash_profileробить моїм логіном за замовчуванням:

eval $(ssh-agent -s)
cat ~/.ssh/id_rsa | ssh-add -k -

Тепер я можу робити git push і тягнути за допомогою ssh пульта.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.