ssh-copy-id - quyền bị từ chối (khóa công khai) [đã đóng]


30

Tôi muốn thiết lập đường hầm ssh đến máy chủ mysql trong máy tính có máy ảo. Ngoài ra, đường hầm phải hoạt động nếu máy được khởi động lại.

Vì vậy, hãy nói A là máy tính có phần mềm linux. B - máy ảo trong máy tính A.

MySQL đang ở B.

C - là một máy ảo trong máy tính A muốn kết nối với MySQL trong B.

Bây giờ bởi bài viết này: http : //www.thegeek ware.com/2008/11/3-steps-to-perform-ssh-login-without-password-USE-ssh-keygen-ssh-copy-id/

Tôi cố gắng sao chép khóa công khai vào máy chủ từ xa. Tôi đoán tôi cần phải sao chép nó vào máy tính A.

ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Bây giờ tôi đã thử nhập cụm mật khẩu của tệp id_rsa.pub.bak. Nó phủ nhận.

Sau đó, tôi thấy rằng nó sử dụng khóa trong /home/[user[/.ssh/id_rsa khác với khóa công khai mà tôi đang cố sao chép, ý tôi là tất nhiên khóa riêng là khác, nhưng ý tôi là tôi sao chép khóa chung của người khác khóa riêng. Vì vậy, tôi đã cố gắng sử dụng cụm mật khẩu của nó. Cũng bị từ chối.

Làm thế nào tôi có thể gỡ lỗi tại sao cụm mật khẩu bị từ chối?

Cập nhật

Dựa trên các nhận xét, tôi đã tạo tệp công khai mới có tên id_rsa.pub, nơi mọi thứ hiện đang ở trong một dòng

và chạy và vẫn nhận được lỗi.

ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Cập nhật

Đã kiểm tra các quyền trên thư mục .ssh và tệp Author_keys trong máy tính A - chúng là 700 và 600 để nhận xét cho biết chúng tốt.

Cập nhật

Đã thử cài đặt xác thực mật khẩu có trên Máy tính và khởi động lại dịch vụ. Khởi động lại theo câu trả lời không hoạt động, nó viết sshd không được công nhận, vì vậy tôi đã khởi động lại bằng cách sử dụng:

sudo /etc/init.d/ssh restart

Sau đó thử lại trên máy C để sao chép vào máy A.

ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v

và vẫn như vậy:

Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).

Nếu tôi đi sao chép khóa theo cách thủ công sang ủy quyền, tôi thấy rằng khóa công khai đã tồn tại, giống như tôi muốn sao chép. Tôi hỏi đồng nghiệp, anh ta nói không sao chép. Vì vậy, tôi thậm chí không hiểu làm thế nào nó có thể ở đó.

Ok, nếu nó ở đó thì sẽ tốt, nhưng bằng cách ở đó, nó không cho phép tôi kết nối với ssh mà không nhập cụm mật khẩu. Nhưng tôi đã có thể kết nối với việc nhập cụm mật khẩu. Vì vậy, một cái gì đó rõ ràng vẫn còn sai ở đây. Và chìa khóa mà tôi đang cố gắng sao chép là với cụm mật khẩu trống. Khi tôi kết nối với ssh - tôi đã nhập cụm mật khẩu không trống.

Cùng một khóa công khai không thể chấp nhận cụm mật khẩu trống và mật khẩu không trống, điều đó có ý nghĩa. Nhưng tại sao khóa công khai mà tôi đang cố tải lên lại giống với khóa trong tệp ủy quyền nếu cụm mật khẩu khác nhau? Tôi đã không kiểm tra từng ký tự đơn lẻ, nhưng không chắc là các khóa sẽ giống nhau đến mức ăn xin và kết thúc sẽ giống nhau ngay cả khi cụm mật khẩu khác nhau tôi nghĩ.


Những tập tin bắt đầu với id_rsabạn có? Tôi dự kiến ssh-copy-idsẽ thất bại với một thông báo lỗi theo cách bạn gọi nó, vì nó mong đợi một tệp kết thúc bằng .pub. Khi bạn kết thúc với .baknó có thể sẽ sử dụng id_rsa.pub.bak.pub.
nlu

@nlu - Tôi có id_rsa mà tôi đã sao chép bằng cách kéo và thả tệp bằng trình thám hiểm notepad ftp. Cũng có id_rsa.bak mà tôi đã tạo bằng nano và dán nội dung bằng chuột từ notepad ++ nhưng có vẻ như nó tạo ra cùng một văn bản nhưng bằng cách nào đó có 2 cột. Và tôi cũng có id_rsa.pub.bak cũng được làm bằng nano. Trên thực tế nó có 3 dòng, nhưng bản gốc có tất cả trong một dòng. Không biết có vấn đề gì không. Nhưng như chúng ta thấy tôi đã không nhận được thông báo lỗi về tên tệp.
Darius.V

1
Nó làm. Xem ở đây ví dụ: snailbook.com/faq/publickey-userauth.auto.html ("Nếu bạn sử dụng trình soạn thảo văn bản, hãy cẩn thận rằng nó không phá vỡ các dòng trong tệp này.").
nlu

Câu hỏi được đóng lại vì họ nghĩ rằng nó không phải là hệ thống trong môi trường kinh doanh, nhưng tôi đã giải quyết vấn đề môi trường kinh doanh.
Darius.V

Câu trả lời:


25

Bạn thực sự cần phải đăng nhập để sao chép khóa của mình, bạn không có quyền truy cập vào máy từ xa (khóa xác thực mật khẩu và mật khẩu không hợp lệ):

Kích hoạt lại xác thực passwd trong / etc / ssh / sshd_config:

PasswordAuthentication yes

Sau đó khởi động lại dịch vụ:

service sshd restart

Sao chép khóa công khai của bạn:

ssh-copy-id -i ~/.ssh/id_rsa.pub USER@HOST -p PORT
[Enter user password]

Hãy thử đăng nhập lại, không cần mật khẩu.

Sau đó vô hiệu hóa xác thực mật khẩu.


Điều gì sẽ xảy ra nếu tôi đặt PasswordAuth thành có trong máy chủ mà tôi muốn đăng nhập và tôi có thể kết nối với putty bằng mật khẩu, nhưng ssh-copy-id vẫn không hỏi mật khẩu và chỉ viết Quyền bị từ chối (khóa công khai). ?
Darius.V

này, tôi muốn nói lời cảm ơn bạn đã cứu ngày của tôi !!! cám ơn rất nhiều!!!
19/12/17

Nhờ @Nabil, điều này cũng hoạt động kể từ Ubuntu 18.04. Chỉ cần thận trọng với những người đọc trong tương lai: Chỉnh sửa / etc / ssh / sshd_config theo hướng dẫn và KHÔNG ssh_config, bằng cách giám sát (như tôi đã làm!). Ngoài ra, ssh-copy-id USER @ HOST rõ ràng là đủ.
Snidhi Sofpro

12

Permission denied (publickey) là máy chủ SSH từ xa nói rằng "Tôi chỉ chấp nhận các khóa công khai như một phương thức xác thực, biến mất".

Đó là thách thức chính của bạn: Bắt đầu với hệ thống từ xa. Khi bạn có thể làm điều đó, bạn có thể tải lên khóa của mình:

  • Sử dụng ssh-copy-id- nó sẽ cho phép bạn chỉ định một khóa khác nếu bạn đang trong quá trình thay thế khóa cũ.
  • Chỉnh sửa người dùng từ xa ~/.ssh/authorized_keysđể nối khóa của bạn bằng tay.

5

Tìm thấy vấn đề cuối cùng.

Thật ra tôi không cần sao chép khóa công khai. Cùng một khóa chung dành cho cả khóa riêng - với cụm mật khẩu và không có cụm mật khẩu. Tôi nghĩ rằng tôi có khóa riêng mà không có mật khẩu, nhưng thực tế tôi đã không làm thế. Tôi chỉ có .ppk mà không có cụm mật khẩu. Đó là bỏ lỡ giao tiếp. Vì vậy, đồng nghiệp đã tạo khóa riêng mà không cần cụm mật khẩu và vì vậy bây giờ tôi có thể đăng nhập bằng ssh mà không cần cụm mật khẩu. Tôi đọc rằng không có cụm mật khẩu là xấu, nhưng đồng nghiệp nói rằng nó ổn. Tôi cần không có cụm mật khẩu vì tôi cần chạy shell script khi khởi động lại - Tôi muốn bắt đầu autossh khi khởi động lại máy tính.

Vì vậy, loại giải pháp là lần này - nếu bạn muốn đăng nhập mà không có cụm mật khẩu - hãy kiểm tra xem khóa riêng của bạn có thực sự không có cụm mật khẩu không.

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.