'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.