Nếu khóa không được đặt tên id_rsa thì nó không hoạt động


14

Tôi đã tạo một khóa để kết nối trong SSH bằng cụm mật khẩu. Tôi đã đặt tên cho chìa khóa của tôi id_rsa_admin. Khi tôi đăng nhập, thông báo sau được hiển thịPermission denied (publickey).

Trong nhật ký, tôi thấy rằng ssh tìm tệp id_rsavà do đó không tìm đúng tệp.

Tôi thấy rằng nếu khóa không được đặt tên id_rsathì nó không hoạt động.

Làm thế nào để kết nối trong ssh?

~/.ssh/id_rsa_admin

ssh admin@vps718449.ovh.net -p 9215

Câu trả lời:


39

Câu trả lời của Arronical là tốt cho kết nối một lần, nhưng về lâu dài sẽ gây đau đớn. Để sshluôn luôn sử dụng khóa này khi kết nối với máy chủ này, bạn có thể thêm khóa này vào ~/.ssh/config(hoặc tạo nó nếu không tồn tại):

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin

Sau đó, bạn có thể kết nối với chỉ ssh admin@vps718449.ovh.net -p 9215. Là một phần thưởng bổ sung, bạn cũng có thể định cấu hình cổng:

Host vps718449.ovh.net
    IdentityFile ~/.ssh/id_rsa_admin
    Port 9215

Sau đó, bạn có thể kết nối với chỉ ssh admin@vps718449.ovh.net. Hơn nữa:

Host vps718449.ovh.net vps
     Hostname vps718449.ovh.net
     User admin
     IdentityFile ~/.ssh/id_rsa_admin
     Port 9215

Sau đó ssh vpssẽ làm việc! Tất nhiên vpschỉ là một ví dụ, bạn có thể sử dụng bất kỳ bí danh nào khác mà bạn muốn (ví dụ: nếu bạn có nhiều hơn một VPS). Xem man ssh_configđể biết danh sách các tùy chọn bạn có thể đặt ở đó.


@fkraiem cảm ơn bạn. Làm thế nào để làm với ba phím?
Mathieu

1
@Mathieu Tại sao ba chìa khóa? Nếu đó là cho ba máy chủ khác nhau, chỉ cần thêm một mục nhập cho mỗi máy chủ, mỗi mục có khóa thích hợp.
fkraiem

@fkraiem Tôi có 3 khóa khác nhau trên cùng một máy chủ nhưng dành cho 3 người dùng
Mathieu

@Mathieu Tôi không thể xác nhận điều này ngay bây giờ, nhưng tôi nghĩ chỉ cần thêm ba IdentityFiledòng trong Hostphần sẽ hoạt động. Ngoài ra, nếu bạn đặt một Userdòng, người dùng đó sẽ trở thành mặc định khi kết nối với máy chủ đó, nhưng bạn vẫn có thể ghi đè lên nó @.
fkraiem

@fkraiem Cảm ơn bạn rất nhiều. Nó hoạt động, nhưng lỗi sau được hiển thị "Đại lý thừa nhận không đăng nhập bằng phím". Tôi sử dụng "SSH_AUTH_SOCK = 0" để kết nối nhưng phải được thực hiện mỗi lần khởi động lại. Có lời chào nào khác không?
Mathieu

16

Bạn cần sử dụng -itùy chọn cho lệnh ssh của bạn bằng cách sử dụng đường dẫn đến khóa của bạn. Lệnh được sửa đổi sẽ là:

ssh -i ~/.ssh/id_rsa_admin admin@vps718449.ovh.net -p 9215

cảm ơn bạn. Với câu trả lời của bạn, lỗi sau được hiển thị "ssh: Không thể giải quyết tên máy chủ i: Tên hoặc dịch vụ không xác định"
Mathieu

5
Đặt -itrước tên máy chủ hoạt động quá; Tôi nghĩ rằng @Mathieu chỉ đơn giản là quên dấu gạch nối. : p
fkraiem
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.