Lỗi ssh này có nghĩa là gì?


9

Đây là phương sách cuối cùng của tôi. Tôi đã cố gắng tìm ra vấn đề ở đây trong nhiều giờ.

Đây là thỏa thuận: Tôi đã sao chép khóa riêng của mình từ máy số 1 sang máy số 2. Máy số 1 có thể kết nối qua ssh với máy chủ bằng khóa chung của tôi, nhưng máy số 2 cho đầu ra sau, khi cố gắng kết nối với máy chủ:

$ ssh -vvv -i /home/kevin/.ssh/kev_rsa user@192.168.1.244 -p 22312
OpenSSH_5.3p1 Debian-3ubuntu6, OpenSSL 0.9.8k 25 Mar 2009
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.1.244 [192.168.1.244] port 22312.
debug1: Connection established.
debug3: Not a RSA1 key file /home/kevin/.ssh/kev_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace

...


Permission denied (publickey).

Rõ ràng có nhiều đầu ra gỡ lỗi mà tôi đã bỏ qua và tôi có thể cung cấp theo yêu cầu. Tuy nhiên, tôi tin rằng nó không giống như tệp khóa riêng của tôi.

Tôi cũng đã có một nghi ngờ rằng nó có liên quan đến cách tôi sao chép nó từ máy số 1 sang máy số 2. Tôi sao chép / dán văn bản từ khóa riêng vào ổ đĩa flash. Đây có thể là vấn đề, tuy nhiên, khi tôi sao chép phương thức này trên một tệp khóa riêng đang hoạt động khác và thực hiện một khác biệt trên bản gốc, với bản sao / dán, chúng giống hệt nhau.

Tôi đã vật lộn với điều này. Nếu tôi có thể có thêm một chút thông tin về lý do tại sao nó không giống khóa của tôi, tôi có thể sửa nó. Bất cứ ai có bất cứ ý tưởng về điều này? Có một số dữ liệu meta ở đâu đó cho ssh biết rằng một tệp trong thực tế là khóa RSA?


/var/log/auth.logtrên máy chủ nói gì?
womble

Để làm rõ, khóa chung từ máy 1 kết nối với máy chủ. Khóa riêng từ máy 1, chạy trên máy 2 sẽ không kết nối với máy chủ?
Dru

Tôi có cặp khóa giống nhau trên cả hai máy và khóa chung nằm trên máy chủ. Tôi sao chép các khóa từ máy khách 1, không có vấn đề gì khi kết nối với máy chủ, ở đây với máy tính ở nhà của tôi (máy 2) đang gặp sự cố xác thực này.
kevin

@womble, Thật không may, tôi không thể truy cập vào máy chủ, nếu tôi có thể nhận ra điều này, tôi sẽ có thể ssh ngay trong .. Ahh, trớ trêu ...;)
kevin

Các hệ điều hành trên hai máy khách là gì? Việc chuyển khóa riêng có thể kết thúc dòng kết thúc hoặc văn bản được giới thiệu (có thể là dòng trống hoặc khoảng trắng) trước dòng mở không?
Stobor

Câu trả lời:


7

Theo kinh nghiệm của tôi, hai lỗi xác thực dựa trên khóa phổ biến nhất là

  1. Quyền rộng rãi không phù hợp trên $HOME/.sshthư mục
  2. Lỗi sao chép khóa chung vào hệ thống từ xa

Quyền tập tin

OpenSSH làm rất nhiều trong nỗ lực bảo vệ bạn khỏi chính bạn. Cách tác động nhiều nhất đến người dùng này là bằng cách thực thi các hạn chế cứng đối với người có quyền truy cập vào thư mục ssh cục bộ của bạn. Bạn thực sự chỉ muốn bạn, và chỉ bạn, truy cập vào thư mục. Chà, và bất cứ ai có uid = 0, nhưng không có cách nào tốt cho việc đó. Vì vậy, những gì bạn cần làm chỉ đơn giản là thay đổi quyền của bạn: chmod -R go-rwx ~/.sshĐiều này sẽ xóa quyền đọc, ghi và thực thi quyền đối với bất kỳ tệp nào bên dưới thư mục .ssh khỏi tất cả người dùng ngoại trừ chủ sở hữu, tức là bạn .

Các vấn đề về khóa ủy quyền

Tệp có chứa khóa chung của bạn, thường $HOME/.ssh/authorized_keysphải phù hợp với một biểu mẫu rất cụ thể cho SSH để hiểu cách chấp nhận khóa riêng. Mỗi khóa phải bao gồm, ít nhất là 2 trường

  1. Loại khóa được sử dụng (RSA, DSA, RSA1, v.v.)
  2. Chìa khóa

Mỗi khóa, cùng với tất cả các tùy chọn và các bộ phận cấu thành của nó, phải được liệt kê một trên mỗi dòng trong tệp này. Vì các phím có xu hướng rất dài, chúng sẽ thường quấn và xuất hiện dưới dạng hai dòng trên thiết bị đầu cuối của bạn. Điều này đôi khi sẽ gây ra sự tàn phá khi cố gắng sao chép / dán, vì đôi khi một hoặc nhiều dòng mới sẽ được chèn vào bất cứ nơi nào khóa chính trên màn hình của bạn. Khắc phục sự cố này thể phức tạp hơn một chút đối với người mới bắt đầu.

Hãy thử chạy
wc -l ~/.ssh/authorized_keys
Điều này sẽ in ra số lượng dòng trong tệp. So sánh số đó với số khóa bạn dự kiến ​​có trong tệp. Nếu bạn sẽ chỉ chấp nhận một khóa này, bạn cũng có thể tạo một bản sao của tệp khóa công khai, vì nó có cùng định dạng với tệp khóa được ủy quyền của bạn. Một cái gì đó như
scp -p ~/.ssh/kev_rsa.pub remotehost:~/.ssh/authorized_keys
hoặc, nếu bạn có khóa công khai trên cùng một hệ thống, bạn có thể làm
cat ~/.ssh/kev_rsa.pub >> ~/.ssh/authorized_keys

Ngoài ra, hãy xem tệp nhật ký trên máy chủ từ xa và xem có lỗi nào được báo cáo ở đó không. Các tập tin rất có thể là /var/log/secure.loghoặc /var/log/auth.


1
Xin chào, Cảm ơn bạn đã nỗ lực ở đây. Tôi đánh giá cao điều đó. Đó chắc chắn không phải là một vấn đề quyền. Tôi đã xác minh quyền là chính xác. (Lẽ ra tôi nên thêm vào đó như một lời cảnh báo). Ngoài ra, mặc dù tôi không thể truy cập các khóa gốc ngay bây giờ, tôi đã sao chép quy trình mà tôi đã sử dụng để sao chép khóa tôi đang sử dụng. Tôi thậm chí đã làm một md5sum để xác minh rằng các tập tin là giống hệt nhau. Có lý?
kevin

1
Và một lần nữa, tôi không thể truy cập máy chủ. Một phần của toàn bộ vấn đề ở đây ...;)
kevin

@Scott: make a copy of the private key filephải là khóa công khai (như được hiển thị trong ví dụ của bạn)
mlp

0

Mặc dù, bạn có thể sẽ phải tạo một cặp khóa mới cho máy 2 để kết nối với máy chủ. Thường thì khóa chung sẽ liệt kê tên người dùng và tên của những người đã tạo ra chúng. Điều này sẽ rõ ràng trong tệp ủy quyền của bạn trên máy chủ.


2
Tôi có ấn tượng rằng nó bỏ qua những điều đó, rằng họ chỉ đơn giản là những bình luận để giúp bạn xác định chúng khi xem ủy quyền. Và dù sao, một lần nữa, tôi chỉ cần sao chép / dán các phím. Vì vậy, chúng là giống hệt nhau. Tôi nghiêm túc nghi ngờ rằng nó kiểm tra tên máy chủ của bạn. Nếu nó đã làm, tôi có thể thay đổi dễ dàng. Cái quái gì thế này, dù sao thì tôi cũng sẽ thử ...
kevin

0

Các thông báo gỡ lỗi bạn cung cấp có nghĩa là một tệp khóa riêng được đọc với giả định rằng nó thực sự là một tệp công khai / tệp lưu trữ được ủy quyền. Đây có thể không phải là một lỗi nghiêm trọng (tôi nhận được các tin nhắn như vậy ngay cả đối với các kết nối làm việc). Nó có nói gì về "Chào hàng" hay "chúng tôi đã gửi" không?


-3

Hãy thử so sánh các tập tin cấu hình ssh giữa hai máy chủ.

I E. một cái gì đó như con mèo / etc / sshd_config


Tôi cần phải có được rõ ràng hơn. Có hai khách hàng, một máy chủ. Tôi không thể truy cập máy chủ hoặc máy khách khác. Tôi sẽ có thể truy cập máy chủ ngay khi khóa chết tiệt này sẽ xác thực;)
kevin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.