Kết nối SSH yêu cầu mật khẩu mặc dù khóa được chấp nhận


12

Tôi đang được nhắc nhập mật khẩu mặc dù có vẻ như khóa SSH của tôi được chấp nhận. Theo như tôi có thể nói, dòng "Máy chủ chấp nhận khóa: pkalg ssh-rsa blen 277" trong nhật ký bên dưới có nghĩa là khóa của tôi được chấp nhận.

Dưới đây là nhật ký gỡ lỗi:

debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/sam/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Server accepts key: pkalg ssh-rsa blen 277
debug2: input_userauth_pk_ok: fp <<HASH REDACTED>>
debug1: Authentications that can continue: publickey,password,keyboard-interactive
debug1: Trying private key: /home/sam/.ssh/id_dsa
debug1: Trying private key: /home/sam/.ssh/id_ecdsa
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1

Giúp đỡ rất nhiều, tất cả mọi người tôi đã tìm thấy những người gặp vấn đề về SSH đều thất bại ở thời điểm sớm hơn mà tôi đang thấy.

Câu trả lời:


11

Khóa riêng của bạn chắc chắn không được chấp nhận, nó chỉ được thử. Có một số cách xác thực dựa trên khóa SSH có thể thất bại và việc ghi nhật ký không thực sự tuyệt vời đến mức gỡ lỗi vấn đề đặc biệt này là một trong những vấn đề thú cưng cá nhân của tôi. Tôi thấy rằng lỗi thường là kết quả của một trong những tình huống sau.

  • ~/.ssh/authorized_keysTập tin của bạn quá mở Đối với sshdnỗ lực bảo vệ của riêng bạn để bảo vệ bạn khỏi chính bạn. Nếu các quyền trên tệp khóa được ủy quyền của bạn thì nó sẽ không xác thực. Chạy đi chmod -R go-rwx ~/.ssh.
  • Khóa công khai của bạn ~/.ssh/authorized_keyskhông đúng định dạng. Đây có thể là kết quả của bất kỳ số lượng vấn đề, nhưng phổ biến nhất là vấn đề dán sao chép. Một số thiết bị đầu cuối, khi sao chép / dán trên màn hình, sẽ diễn giải một dòng bọc là một dòng mới. Mỗi mục trong authorized_keystệp phải là một dòng duy nhất. Bạn có thể kiểm tra điều này bằng cách thay đổi kích thước của trình giả lập thiết bị đầu cuối của bạn và xem nếu có sự cố, so sánh đầu ra wc -l ~/.ssh/authorized_keysso với số lượng khóa nên có trong đó, hoặc bất cứ điều gì tốt nhất cho bạn. Chỉ cần đảm bảo mỗi khóa là một dòng và bạn sẽ ổn.

7

Đầu ra ssh -v mà bạn đã dán đề xuất rằng nó đã cố sử dụng khóa nhưng không hoạt động, vì vậy nó đã chuyển sang tương tác bàn phím.

Bạn đã kiểm tra nhật ký xác thực trên máy chủ bạn đang kết nối chưa? (ví dụ: /var/log/auth.log). Nếu thiết lập của bạn ở đầu từ xa không chính xác, ví dụ: quyền sai, thì ssh -v (hoặc -vv hoặc -vvv) sẽ không cho bạn biết điều này, nhưng nó sẽ được ghi bởi sshd.


/var/log/auth.log giữ câu trả lời cho tôi: "Xác thực bị từ chối: quyền sở hữu hoặc chế độ xấu cho thư mục / root"
kevlar1818

5

Trong trường hợp của tôi, tập tin /var/log/authlogcho thấy:

[ID 800047 auth.info] Authentication refused: bad ownership or modes for directory 

Tôi đã kiểm tra quyền sở hữu / quyền chính xác trong .sshnhưng $HOMEcó 777 quyền. Đặt 755 quyền trên $HOMEsftp được phép hoạt động. Cảm ơn một lần nữa.


2

Nếu bạn có quyền truy cập vào máy chủ (trực tiếp hoặc thông qua thông tin đăng nhập khác), hãy kiểm tra máy chủ đăng nhập (nói) /var/log/sshdhoặc /var/log/securetùy thuộc vào hệ thống của bạn

Nó thường được gây ra bởi một lỗi quyền trên ~/.ssh/authorized_keystập tin của bạn . Hãy chắc chắn rằng nó không thể đọc được trên thế giới, nhưng điều quan trọng là người dùng (đôi khi là người dùng dịch vụ) có thể đọc được sshd


1
Hệ thống nào sử dụng /var/log/sshd? Hệ thống tôi biết sử dụng /var/log/auth.loghoặc /var/log/secure.
kasperd

1

Quyền của ~/.ssh/authorized_keysđiều khiển từ xa rất quan trọng ( 600đối với hệ thống của tôi là RHEL và Solaris)

Quyền của thư mục nhà của bạn trong điều khiển từ xa rất quan trọng ( 700trong hệ thống của tôi)

Cuối cùng, chạy sshdtrong máy từ xa ở chế độ gỡ lỗi trên một cổng khác có thể hữu ích:

sudo /usr/sbin/sshd -p 5555 -dd

5555là một cổng ví dụ, bạn có thể thay đổi nó. Để biết thêm thông tin về vấn đề này, bạn có thể xem: http://ubuntuforums.org/archive/index.php/t-2219973.html


0

Tôi thấy rằng có một vấn đề nếu tôi sử dụng sshddịch vụ. Để tránh sự cố này, dừng sshddịch vụ với service sshd stopvà sau đó khởi động sshdtrình nền từ dấu nhắc lệnh với sudo /usr/sbin/sshd.


0

Thử

/sbin/restorecon -r /root/.ssh

Một vấn đề có thể với việc thiết lập quyền.

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.