'ssh-keygen' dahili veya harici bir komut olarak tanınmıyor


103

koşarım git push -u origin master

Bana "İzin reddedildi (genel anahtar) önemli: Uzak uç beklenmedik şekilde kapattı" diyor

Sonra internete baktım ve GitHub'daki hesabım için bir ssh anahtarı oluşturmam gerektiğini fark ettim. Ancak, bunu yaptığımda, ssh-keygen -t rsa "email@youremail.com" yapmaya çalıştığımda, sadece ssh-keygen'in tanınmadığını söyledi. Mkdir C: \ ssh yapmayı denedim ama işe yaramadı. Yardımcı oluyorsa Ruby Rails kullanıyorum ve bir Windows bilgisayar kullanıyorum. Biri bana yardım edebilir mi?

Yanıtlar:


133

2012: msysgit'in bir
ssh-keygen.exe parçasıdır :

 C:\path\to\msysgit1.7.11\bin\ssh-keygen.exe

eğer %PATH%içerirseniz C:\path\to\msysgit1.7.11\bin\, sahip olacaksınız ssh-keygen.


Güncelleme 2015:
ssh-keygen.exeparçasıdır Git için Windows'un , bültenleri dahil PortableGit-2.4.3.1-2nd salınımlı-aday-64-bit.7z

c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin\ssh-keygen.exe

Bu, %PATH%içermesi gereken c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin(olmadan ssh-keygen.exe) anlamına gelir

Daha önce açıkladığım gibi , Windows için Git yakında msysgit'i aşamalı olarak kaldıracak.
Ben "ayrıntılı Neden net Git 2.0 indirirseniz, her zaman bir 1.9.4 yükleyici paketi almak o kadar? " Bu yeni sürümü daha yeni dayanmaktadır nasıl msys2 projesi .


ssh-keygen.exeWindows'ta PATH'e sahip olmak güvenli midir? Bundan sonra konumunu kaldırmam gerekir mi?
Yeşil

@Green aslında, Windows'un bir parçası olan PATHsiz özel DOS oturumu başlatıyoruz beri, sadece git ile sizin oturumu sırasında git-cmd.bat: github.com/msysgit/msysgit/blob/master/git-cmd.bat . PATHVe setini tamamlayacak HOME.
VonC

Aslına bakılırsa, yol yok olmalıdır ssh-keygen.exe. Demek istediğim, sadece bu şekilde benim için çalışıyor.
alexander

1
@alexander Kabul ediyorum ve bunu daha görünür kılmak için cevabı düzenledim.
VonC

7
benim için yolC:\Program Files (x86)\Git\usr\bin
rupinderjeet

65

Bu sorunu yeni yaşadım ve bunun daha kolay olduğunu düşündüğüm şeyi paylaşacağımı düşündüm.

Git-bash'ı açın ve e-posta adresinize yorum yazdığınız için -C ekleyerek aynı komutu çalıştırın: ssh-keygen -t rsa -C "email@youremail.com"command. Bu kadar.

git'i yüklediğinizde git-bash kurulmuş olmalıdır. Bulamazsanız, C: \ Program Files \ Git \ Git Bash'i kontrol edebilirsiniz.

Bunu ilk yaptığımda, benim için .ssh klasörünü yaratmada başarısız oldu, bu yüzden standart bir Komut İstemi ve mkdir C: \ Kullanıcılar \ kullanıcı adınız \ .ssh açmam gerekti


15
Başka bir yazılım paketinin yüklenmesini önermediği için +1
Chip McCormick

2
+1 bu daha iyi bir çözüm çünkü başka bir kuruluma gerek yok
guoleii

Anahtarım .sshklasöre kaydedilmedi . Var olanla aynı dizine kaydedildi Git Bash.
Ahmad Behzadi

51

Aşağıdakileri pencerelerde takip ettim (Windows için Git yüklü)

  1. "Git Gui" yi çalıştırın (Başlat -> Git -> Git Gui)
  2. Yardım'ı ve ardından SSH Anahtarını Göster'i tıklayın.
  3. Henüz bir anahtarınız yoksa Oluştur'u tıklayın.

Not: - bu, C: \ Kullanıcılar \ Kullanıcı Kimliğiniz \ .ssh \ kişisel profil klasörünüz altında anahtar dosyaları oluşturur

görüntü açıklamasını buraya girin


Harika yanıt - yeni bir SSH anahtarı oluşturmanın güzel ve kolay bir yolu - TY :)
gav_aus_web

9

Bunu düzeltmek için kolay bir çözüm buldum:

Komut isteminde git \ bin dizininize gidin ve ardından komutlarınızı buradan çalıştırın.


6
Sistemimde, Windows 10, ssh-keygen.exe 'git \ usr \ bin' içinde bulundu.
Tarabass

9

Çevresel değişkenlere herhangi bir şey eklemenize gerek yok! Sadece git bash'ı açın ve ssh-keygen komutunu orada çalıştırın.

Git bash'ı buradan indirmek için bağlantı


8

Git'i kurduysanız ve C: \ Program Files'da kuruluysa, aşağıdaki adımları izleyin

  1. "C: \ Program Files \ Git" e gidin
  2. Git-bash.exe'yi çalıştırın, bu yeni bir pencere açar
  3. Yeni bash penceresinde "ssh-keygen -t rsa -C" "komutunu çalıştırın.
  4. Anahtarın kaydedileceği dosyayı sorar, herhangi bir değer girmeyin - sadece enter tuşuna basın
  5. Parola için aynı (iki kez), sadece enter tuşuna basın
  6. id_rsa ve id_rsa.pub ana klasörünüzde .ssh altında oluşturulacaktır.

4

Heroku.bat'a gidin ve şunu ekleyin:

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH% sonra @SET PATH=%HEROKU_RUBY%;%PATH%

benim durumumda D: \ Program Files (x86) \ Git \ bin içinde, Git'i kurduğunuz yola değiştirin. (Bunu yoluma bıraktım, böylece bunun nasıl yazılacağı daha net olacak)


3

PATH ortam değişkenine ssh-keygen.exe dosyasının konumunu ekleyebileceğinizi düşünüyorum. Adımları izleyin: Bilgisayarım -> Sağ tıklama -> Özellikler -> Gelişmiş Sistem Ayarları -> Çevresel Değişkenler'e gidin. Şimdi YOL'a ve ardından DÜZENLE'ye tıklayın. Değişken değeri alanında, sonuna gidin ve '; C: \ yol \' a \ msysgit1.7.11 \ bin \ ssh-keygen.exe '(tırnak işaretleri olmadan) ekleyin


3

hiçbir şey yapmayın sadece komut isteminizi yazın

C:\> sh

sonra böyle anladın

sh-4.4$ 
# type here 
ssh-4.4$ ssh-keygen -t rsa -b 4096 -C "example@example.com"

bu işe yaramalı.


2

Windows için şunu ekleyebilirsiniz:

SET PATH="C:\Program Files\Git\usr\bin";%PATH%



0

BURAYA BASH seçeneğini tercih etmeyenler için. cmd'de sh yazın, sonra ssh-keygen.exe erişilebilir olmalıdır


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.