2016-03-15 19 views
5

Git aniden çalışmayı durdurdum. /c/Users/sigod için C:\Users\sigod\.ssh ve HOME sette bulunan'/home/username/.ssh' dizini oluşturulamadı

Could not create directory '/home/sigod/.ssh'

Benim SSH tuşları: Ben çekin ya diyor itmek Her seferinde (Windows altında 7 Git Bash kullanın). Hangi variousSOquestions göre çalışması gerekir.

SSH anahtarlarını C:\Program Files\Git\home\sigod\.ssh'a yerleştirirseniz, Git yeniden çalışmaya başlar. Ama bunu kirli çözümler olmadan nasıl çalıştırabilirim?

+0

Cygwin kullanıyor musunuz? – mauro

+0

@ mauro, hayır, yok. – sigod

+0

Geçici bir çözüm olarak, c: \ Program Files \ Git \ home \ <<===>> c: \ Users' için sembolik bağlantı oluşturdum. – sigod

cevap

1

GitBash, geleneksel linux izinlerini kullanan Cygwin motorunu (özellikle MINGW64) temel alır. izinlerinin doğru

değişti sonra görmeye stat ~/.ssh çalıştırmak

mkdir ~/.ssh 
chown $USER:$USER -R ~/.ssh 

:

ben size SSH dizin doğru yerde var ve git bash aşağıdaki komutları çalıştırarak doğru izinlere sahip olduğundan emin olun önermek Anahtarınızın doğru yere doğru şekilde takıldığını görmek için

.

echo ~ veya echo $HOME'u çalıştırarak, gerçekte hangi dizinin ana dizininizde kayıtlı olduğunu görebilirsiniz.

Çizgiyi ~/.bashrc değiştirerek ve ekleyerek linux HOME'u değiştirebilir export HOME=/some/directory

sizin GitBash dosya sistemi komutu mount

MINGW64 /c $ mount 
C:/Program Files/Git on/type ntfs (binary,noacl,auto) 
C:/Program Files/Git/usr/bin on /bin type ntfs (binary,noacl,auto) 
C:/Users/MyUser/AppData/Local/Temp on /tmp type ntfs (binary,noacl,posix=0,usertemp) 
C: on /c type ntfs (binary,noacl,posix=0,user,noumount,auto) 
D: on /d type ntfs (binary,noacl,posix=0,user,noumount,auto) 

Eğer yazarak pencere dosya sisteminin nasıl karşılık görebilirsiniz Başka hiçbir şey işe yaramıyor, ayrıca doğru yola yönlendirdiğinden emin olmak için pencerelerde %HOME% ortam değişkenini değiştirmeyi deneyebilirsiniz. Ama herhangi bir windows env var üzerine yazdı linux vars sizin için ekle ~/.bashrc

+0

Detaylı yanıt için teşekkür ederiz. Maalesef, symlink ile birlikte sorun ortadan kalktığında bunu test edemiyorum. – sigod

+0

Benim durumumda hak sahibi haklıydı, ancak bir izin sorunu vardı. Bir battaniye 'chmod -R 777 .ssh 'sorunu çözdü (ve bilinen bir sorunla ilgili olarak bilinen_hosts dosyasına yazılır) - fakat elbette ki bu' 's'' klasörünün bir yedeğini almayı şiddetle tavsiye ederim. –

+1

@SteveChambers merhaba, bu konuyu dikkatime sunduğunuz için teşekkür ederiz. * Chmod -R 777 .ssh * 'a karşı kesinlikle tavsiye ederim çünkü bu, herhangi bir ziyaretçinin ya da konuğun kişisel ssh anahtarlarınızı görmesini sağlar. Bunun yerine, yinelemeyi yapmak için komutuma -R'yi eklemeliyim. Bunu yanıtlamak için cevabımı güncelledim. .ssh klasörünüzdeki izinler ile ilgili olarak, kendiniz sahip olmak ve chmod 644 -R ~/ile izinleri düzeltmek için chown $ USER: $ USER -R ~/.ssh' çalıştırmayı öneririm.ssh chmod 700 ~/.ssh' chmod 600 ~/.ssh/id_rsa' – yosefrow

İlgili konular