2011-09-15 5 views
21

tôi vừa mới bắt đầu một hướng dẫn Git và tôi nhận được một deadend: Tôi cố gắng tạo ra một phần quan trọng rsa và nó không thành công. Tôi đã làm điều này, trong git bash:Tiết kiệm khóa ssh không thành công

ssh-keygen -t rsa -C "[email protected]" 

Và tôi nhận điều này:

Generating public/private rsa key pair. 
Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa): 
enter passphrase: 
enter same passphrase again: 
open /c/Users/Eva/.ssh/id_rsa failed: no such file or directory. 
Saving the key failed:/c/Users/Eva/.ssh/id_rsa. 

Tôi cố gắng để tiết kiệm trong một thư mục khác nhau và nó đã đi OK. nhưng bây giờ tôi làm lệnh ssh -T [email protected] và nó mang lại cho tôi những lỗi permisson denied (publickey).

Trả lời

6

Nếu bạn thích sử dụng một giao diện để tạo ra các phím

  1. Sử dụng Putty Gen để tạo ra một chìa khóa
  2. Xuất phím như một SSH mở chìa khóa
  3. Như đã đề cập bởi @VonC tạo. thư mục ssh và sau đó bạn có thể thả phím tư nhân và công cộng trong đó
  4. Hoặc sử dụng một chương trình GUI (như Tortoise Git) để sử dụng các phím SSH

Để có hướng dẫn về gen putty cho các bước trên, vui lòng xem http://ask-leo.com/how_do_i_create_and_use_public_keys_with_ssh.html

10

Dường như bạn đang thực hiện lệnh đó từ một phiên DOS (xem this thread), và điều đó có nghĩa là bạn cần phải tạo thư mục .ssh trước khi lệnh nói.

Hoặc bạn có thể thực thi nó từ phiên bash (một phần của phân phối msysgit) và nó sẽ hoạt động.

+0

+1, thx, đã giúp tôi rất nhiều .. ".ssh" thư mục đã mất tích ;-) – d4Rk

+0

Trong trường hợp của tôi này là câu trả lời đúng, chỉ cần quên tạo các thư mục được chỉ định trong đường dẫn – blissini

22

Nếu bạn đang sử dụng Windows, đường dẫn mặc định kiểu ssh-keygen không có lỗi.

Trong dòng 2, nó cho biết Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):. Tên tệp đầy đủ trong các dấu ngoặc đơn là mặc định, rõ ràng Windows không thể truy cập tệp như thế. Nếu bạn gõ tương đương Windows (c:\Users\Eva\.ssh\id_rsa), nó sẽ hoạt động.

c:\Users\Administrator\.ssh>ssh-keygen -t rsa -C "[email protected]" 
Generating public/private rsa key pair. 
Enter file in which to save the key (/home/Administrator/.ssh/id_rsa): C:\Users\Administrator\.ssh\id_rsa 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in C:\Users\Administrator\.ssh\id_rsa. 
Your public key has been saved in C:\Users\Administrator\.ssh\id_rsa.pub. 
The key fingerprint is: 
... [email protected] 
The key's randomart image is:...` 

Tôi biết đây là một chủ đề cũ, nhưng tôi nghĩ câu trả lời có thể giúp người khác.

+1

Lưu ý rằng bạn phải tạo thư mục trước khi chạy lệnh. Để tạo thư mục windows bắt đầu bằng a. bạn phải đặt a. trước nó và nó sẽ tự động bị xóa ".ssh." tạo ".ssh". – marsh

3

Bạn phải tự tạo thư mục .ssh để lưu khóa ssh.

Bằng cách này, tôi đã sử dụng con đường này phong cách: C:/Users/you/.ssh/id_rsa

1

Tôi đã sử dụng bash trên cửa sổ đi kèm với git. Vấn đề là tôi giả định dấu ngã (~) mà tôi đã sử dụng để biểu thị đường dẫn nhà của tôi sẽ mở rộng đúng cách. Nó hoạt động khi sử dụng cd, nhưng để khắc phục lỗi này, tôi phải chỉ cho nó đường dẫn tuyệt đối.

1

Trong Windows, tôi phải tạo biến môi trường HOME trỏ đến hồ sơ người dùng đầu tiên (C:\Users\<name>) hoặc bất kỳ thư mục nào bạn muốn.

Sau đó bắt đầu một cửa sổ dòng lệnh mới, tạo một thư mục .ssh trong hồ sơ người dùng của bạn hoặc chọn đường dẫn sử dụng mkdir ".ssh" lệnh.

Sau khi làm điều đó tôi đã có thể sử dụng ssh-keygen mà không có bất kỳ vấn đề đường dẫn.

5

Tôi gặp vấn đề tương tự. Tôi phải cung cấp đường dẫn đầy đủ bằng các quy ước của Windows. Tại bước này:

Enter file in which to save the key (/c/Users/Eva/.ssh/id_rsa):

Cung cấp các giá trị sau:

c:\users\eva\.ssh\id_rsa

+0

OSX quá: thay vì ~/.ssh/id_rsa tôi phải sử dụng/Users/ /.ssh/id_rsa – AVProgrammer

+0

Đúng, trên macOS tôi cần nhập vào toàn bộ đường dẫn của khóa dự kiến ​​cho khóa * giây * SSH I được tạo ra (cái đầu tiên chỉ làm việc với tên tệp). –

1

tôi phải vật lộn với vấn đề tương tự trong một thời gian chỉ là bây giờ (sử dụng Mac). Đây là những gì tôi đã làm và nó cuối cùng làm việc:
(1) Xác nhận các thư mục .ssh tồn tại:

#show all files including hidden 
ls -a 

(2) Chấp nhận tất cả các giá trị mặc định bằng cách chỉ nhấn enter tại dấu nhắc

Enter file in which to save the key (/Users/username/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 

bạn sẽ nhận được một thông điệp:

Your identification has been saved in /Users/username/.ssh/id_rsa. 
Your public key has been saved in /Users/username/.ssh/id_rsa.pub. 
The key fingerprint is: 
BZA156:HVhsjsdhfdkjfdfhdX+BundfOytLezXvbx831/s [email protected] 
The key's randomart image is:XXXXX 

PS Nếu bạn đang cấu hình git cho đường ray, làm followi ng (source):

git config --global color.ui true 
git config --global user.name "yourusername" 
git config --global user.email "[email protected]" 
ssh-keygen -t rsa -C "[email protected]" 

(sau đó chấp nhận tất cả các giá trị mặc định bằng cách nhấn vào)