'ssh-keygen' tidak dikenali sebagai perintah internal atau eksternal


103

saya berlari git push -u origin master

Ia memberitahu saya bahwa "Izin ditolak (kunci publik) fatal: Remote end tiba-tiba terputus"

Kemudian saya mencari di internet dan menemukan bahwa saya harus membuat kunci ssh untuk akun saya di GitHub. Namun, setelah melakukannya, ketika saya mencoba melakukan ssh-keygen -t rsa "email@youremail.com" hanya dikatakan ssh-keygen tidak dikenali. Saya mencoba melakukan mkdir C: \ ssh tetapi tidak berhasil. Jika membantu, saya menggunakan Ruby Rails dan saya menggunakan komputer Windows. Adakah yang bisa membantu saya?

Jawaban:


133

2012:
ssh-keygen.exeadalah bagian dari msysgit :

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

jika Anda %PATH%termasuk C:\path\to\msysgit1.7.11\bin\, Anda akan memilikinya ssh-keygen.


Pembaruan 2015:
ssh-keygen.exeadalah bagian dari Git Untuk Windows , yang rilisnya termasuk PortableGit-2.4.3.1-2nd-release-kandidat-64-bit.7z

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

Itu berarti %PATH%harus menyertakan c:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin(tanpa ssh-keygen.exe)

Seperti yang saya jelaskan sebelumnya , Git untuk Windows akan segera menghapus msysgit.
Saya menjelaskan secara rinci dalam " Mengapa jika Anda mendownload Git 2.0 dari internet, Anda selalu mendapatkan paket installer 1.9.4? " Bagaimana versi baru ini didasarkan pada proyek msys2 yang lebih baru .


Apakah aman untuk memiliki ssh-keygen.exePATH di Windows? Apakah saya perlu menghapus lokasinya setelah itu?
Hijau

@Green sebenarnya, ini adalah bagian dari Windows PATHhanya selama sesi Anda dengan git, karena Anda meluncurkan sesi DOS khusus dengan git-cmd.bat: github.com/msysgit/msysgit/blob/master/git-cmd.bat . Ini akan menyelesaikan PATHdan mengatur HOME.
VonC

Sebenarnya, jalan itu harus tanpa ssh-keygen.exe. Maksud saya, cara ini hanya berlaku untuk saya.
Alexander

1
@alexander Saya setuju, dan saya telah mengedit jawabannya agar lebih terlihat.
VonC

7
bagi saya, jalurnyaC:\Program Files (x86)\Git\usr\bin
rupinderjeet

65

Saya baru saja mengalami masalah ini dan berpikir saya akan membagikan apa yang saya pikir sebagai cara yang lebih mudah untuk mengatasi masalah ini.

Buka git-bash dan jalankan perintah yang sama dengan tambahan -C karena Anda berkomentar di alamat email Anda: ssh-keygen -t rsa -C "email@youremail.com"perintah. Itu dia.

git-bash seharusnya sudah diinstal saat Anda menginstal git. Jika Anda tidak dapat menemukannya, Anda dapat memeriksa C: \ Program Files \ Git \ Git Bash

Pertama kali saya melakukan ini, gagal membuat folder .ssh untuk saya jadi saya harus membuka Command Prompt standar dan mkdir C: \ Users \ yourusername \ .ssh


15
+1 untuk tidak menyarankan penginstalan paket perangkat lunak lain
Chip McCormick

2
+1 ini adalah solusi yang lebih baik karena tidak perlu instalasi lain
guoleii

Kunci saya tidak disimpan di .sshfolder. Itu disimpan di direktori yang sama seperti yang Git Bashada.
Ahmad Behzadi

51

Saya mengikuti di bawah ini di windows (Dengan Git untuk Windows diinstal)

  1. Jalankan "Git Gui" (Start -> Git -> Git Gui)
  2. Klik Help dan kemudian Show SSH Key
  3. Klik Generate Key jika Anda belum memilikinya

Catatan: - ini membuat file kunci di bawah folder profil pribadi Anda C: \ Users \ YourUserID \ .ssh \

masukkan deskripsi gambar di sini


Jawaban bagus - cara mudah yang bagus untuk membuat kunci-SSH baru - TY :)
gav_aus_web

9

Saya menemukan solusi mudah untuk memperbaikinya:

Di prompt perintah, buka direktori git \ bin Anda, lalu jalankan perintah Anda dari sini


6
Di sistem saya, Windows 10, ssh-keygen.exe ditemukan di 'git \ usr \ bin'.
Tarabass

9

Tidak perlu menambahkan apapun ke variabel lingkungan! Buka saja git bash dan lakukan perintah ssh-keygen di sana.

Tautan untuk mengunduh git bash di sini


8

Jika Anda telah menginstal Git, dan diinstal di C: \ Program Files, ikuti seperti di bawah ini

  1. Buka "C: \ Program Files \ Git"
  2. Jalankan git-bash.exe, ini akan membuka jendela baru
  3. Di jendela bash baru, jalankan "ssh-keygen -t rsa -C" "
  4. Ini meminta file tempat menyimpan kunci, jangan masukkan nilai apa pun - cukup tekan enter
  5. Sama untuk frasa sandi (dua kali), cukup tekan enter
  6. id_rsa dan id_rsa.pub akan dibuat di folder rumah Anda di bawah .ssh

4

Buka saja heroku.bat dan tambahkan:

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

dalam kasus saya ada di D: \ Program Files (x86) \ Git \ bin, ubah ke jalur tempat Anda menginstal Git. (Saya baru saja meninggalkannya dengan jalan saya sehingga akan lebih jelas tentang cara menulis ini)


3

Saya pikir Anda dapat menambahkan lokasi file ssh-keygen.exe di variabel lingkungan PATH. Ikuti langkah-langkahnya: Buka Komputer Saya-> Klik kanan-> Properti-> Pengaturan Sistem Lanjutan-> Klik Variabel Lingkungan. Sekarang klik PATH dan kemudian klik EDIT. Di bidang nilai variabel, pergi ke akhir dan tambahkan '; C: \ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe' (tanpa tanda kutip)


3

jangan lakukan apa pun, cukup ketik command prompt Anda

C:\> sh

lalu kamu menjadi seperti ini

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

ini harus bekerja.


2

Untuk windows Anda dapat menambahkan ini:

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



0

bagi yang tidak memilih opsi BASH DI SINI. ketik sh di cmd maka mereka harus memiliki ssh-keygen.exe yang dapat diakses


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.