ไม่รู้จัก 'ssh-keygen' เป็นคำสั่งภายในหรือภายนอก


103

ฉันวิ่ง git push -u origin master

มันบอกฉันว่า "การอนุญาตถูกปฏิเสธ (คีย์สาธารณะ) ร้ายแรง: ปลายรีโมตวางสายโดยไม่คาดคิด"

จากนั้นฉันค้นหาบนอินเทอร์เน็ตและพบว่าฉันต้องสร้างคีย์ ssh สำหรับบัญชีของฉันบน GitHub อย่างไรก็ตามเมื่อทำเช่นนั้นเมื่อฉันพยายามทำ ssh-keygen -t rsa "email@youremail.com" เพียงแค่บอกว่าไม่รู้จัก ssh-keygen ฉันพยายามทำ mkdir C: \ ssh แต่ไม่ได้ผล ถ้ามันช่วยได้ฉันใช้ Ruby Rails และฉันใช้คอมพิวเตอร์ Windows มีใครช่วยฉันได้บ้าง

คำตอบ:


133

2012:
ssh-keygen.exeเป็นส่วนหนึ่งของmsysgit :

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

ถ้าคุณ%PATH%รวมถึงคุณจะมีC:\path\to\msysgit1.7.11\bin\ssh-keygen


อัปเดต 2015:
ssh-keygen.exeเป็นส่วนหนึ่งของGit สำหรับ Windowsซึ่งมีรุ่นต่างๆ ได้แก่PortableGit-2.4.3.1-2nd-release-ผู้สมัคร -64-bit.7z

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

นั่นหมายถึงสิ่งที่%PATH%ต้องมีc:\path\to\PortableGit-2.4.3.1-2nd-release-candidate-64-bit\usr\bin(ไม่มีssh-keygen.exe)

ดังที่ฉันได้อธิบายไว้ก่อนหน้านี้ Git สำหรับ Windows จะยกเลิก msysgit ในไม่ช้า
ฉันมีรายละเอียดใน " ทำไมมันจึงเป็นว่าถ้าคุณดาวน์โหลด Git 2.0 จากสุทธิคุณมักจะได้รับแพคเกจติดตั้ง 1.9.4? " วิธีการรุ่นใหม่นี้จะขึ้นอยู่กับเมื่อเร็ว ๆ นี้โครงการ msys2


มีความปลอดภัยssh-keygen.exeใน PATH บน Windows หรือไม่? ฉันจำเป็นต้องลบตำแหน่งหลังจากนั้นหรือไม่?
สีเขียว

@Green จริงมันเป็นส่วนหนึ่งของการใช้ Windows PATHเฉพาะในช่วงเซสชั่นของคุณด้วยคอมไพล์เนื่องจากคุณมีการเปิดตัวเซสชั่นพิเศษ DOS กับgit-cmd.bat: github.com/msysgit/msysgit/blob/master/git-cmd.bat มันจะเสร็จสมบูรณ์และการตั้งค่าPATH HOME
VonC

Acutally ssh-keygen.exeเส้นทางที่ควรจะเป็นโดยไม่ต้อง ฉันหมายความว่ามันใช้ได้ผลกับฉันเท่านั้น
alexander

1
@alexander ฉันเห็นด้วยและฉันได้แก้ไขคำตอบเพื่อให้มองเห็นได้ชัดเจนขึ้น
VonC

7
สำหรับฉันเส้นทางคือC:\Program Files (x86)\Git\usr\bin
rupinderjeet

65

ฉันเพิ่งมีปัญหานี้และคิดว่าฉันจะแบ่งปันสิ่งที่ฉันคิดว่าเป็นวิธีที่ง่ายกว่านี้

เปิด git-bash และเรียกใช้คำสั่งเดียวกันโดยเพิ่ม -C เนื่องจากคุณแสดงความคิดเห็นในที่อยู่อีเมลของคุณ: ssh-keygen -t rsa -C "email@youremail.com"คำสั่ง แค่นั้นแหละ.

ควรติดตั้ง git-bash เมื่อคุณติดตั้ง git หากหาไม่พบคุณสามารถตรวจสอบ C: \ Program Files \ Git \ Git Bash

ครั้งแรกที่ฉันทำสิ่งนี้ล้มเหลวในการสร้างโฟลเดอร์. sh ให้ฉันดังนั้นฉันจึงต้องเปิด Command Prompt มาตรฐานและ mkdir C: \ Users \ yourusername \ .ssh


15
+1 สำหรับการไม่แนะนำการติดตั้งชุดซอฟต์แวร์อื่น
Chip McCormick

2
+1 นี่เป็นทางออกที่ดีกว่าเนื่องจากไม่จำเป็นต้องติดตั้งอื่น ๆ
guoleii

คีย์ของฉันไม่ได้บันทึกไว้ใน.sshโฟลเดอร์ บันทึกไว้ในไดเร็กทอรีเดียวกับที่Git Bashมีอยู่
Ahmad Behzadi

51

ฉันทำตามด้านล่างใน windows (ติดตั้ง Git สำหรับ Windows)

  1. เรียกใช้ "Git Gui" (เริ่ม -> Git -> Git Gui)
  2. คลิกวิธีใช้จากนั้นแสดงคีย์ SSH
  3. คลิกสร้างคีย์หากคุณยังไม่มี

หมายเหตุ: - สิ่งนี้จะสร้างไฟล์สำคัญภายใต้โฟลเดอร์โปรไฟล์ส่วนตัวของคุณ C: \ Users \ YourUserID \ .ssh \

ใส่คำอธิบายภาพที่นี่


คำตอบที่ดี - วิธีง่ายๆในการสร้างคีย์ SSH ใหม่ - TY :)
gav_aus_web

9

ฉันพบวิธีง่ายๆในการแก้ไขปัญหานี้:

ในพรอมต์คำสั่งไปที่ไดเร็กทอรี git \ bin ของคุณจากนั้นดำเนินการคำสั่งของคุณจากที่นี่


6
ในระบบของฉันพบ Windows 10, ssh-keygen.exe ใน 'git \ usr \ bin'
Tarabass

9

ไม่ต้องเพิ่มตัวแปรแวดล้อมอะไรเลย! เพียงแค่เปิด git bash และดำเนินการคำสั่ง ssh-keygen ที่นั่น

ลิงค์ดาวน์โหลด git bash ที่นี่


8

หากคุณติดตั้ง Git และติดตั้งที่ C: \ Program Files แล้วให้ทำตามด้านล่าง

  1. ไปที่ "C: \ Program Files \ Git"
  2. เรียกใช้ git-bash.exe เพื่อเปิดหน้าต่างใหม่
  3. ในหน้าต่าง bash ใหม่ให้เรียกใช้ "ssh-keygen -t rsa -C" "
  4. จะแจ้งให้ไฟล์ที่จะบันทึกคีย์ไม่ต้องป้อนค่าใด ๆ - เพียงแค่กด Enter
  5. เหมือนกันสำหรับข้อความรหัสผ่าน (สองครั้ง) เพียงแค่กด Enter
  6. id_rsa และ id_rsa.pub จะถูกสร้างขึ้นในโฟลเดอร์บ้านของคุณภายใต้. ssh

4

เพียงไปที่ heroku.bat และเพิ่ม:

@SET PATH="D:\Program Files (x86)\Git\bin";%PATH% หลังจาก @SET PATH=%HEROKU_RUBY%;%PATH%

ในกรณีของฉันมันอยู่ใน D: \ Program Files (x86) \ Git \ bin เปลี่ยนเป็นเส้นทางที่คุณติดตั้ง Git ไป (ฉันแค่ทิ้งมันไว้กับเส้นทางของฉันดังนั้นมันจะชัดเจนกว่าในการเขียนสิ่งนี้)


3

ฉันคิดว่าคุณสามารถเพิ่มตำแหน่งของไฟล์ ssh-keygen.exe ในตัวแปรสภาพแวดล้อม PATH ทำตามขั้นตอน: ไปที่ My Computer-> คลิกขวา -> คุณสมบัติ -> การตั้งค่าระบบขั้นสูง -> คลิกตัวแปรสภาพแวดล้อม ตอนนี้คลิก PATH แล้วคลิกแก้ไข ในฟิลด์ค่าตัวแปรไปที่จุดสิ้นสุดและต่อท้าย '; C: \ path \ to \ msysgit1.7.11 \ bin \ ssh-keygen.exe' (โดยไม่มีเครื่องหมายคำพูด)


3

อย่าทำอะไรเพียงแค่พิมพ์พรอมต์คำสั่งของคุณ

C:\> sh

แล้วคุณก็เป็นแบบนี้

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

สิ่งนี้ควรใช้งานได้





0

สำหรับผู้ที่ไม่เลือกตัวเลือก BASH HERE พิมพ์ sh ใน cmd จากนั้นควรมี ssh-keygen.exe เข้าถึงได้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.