2013-03-26 35 views
5

Hiện tại, ssh của tôi chỉ chấp nhận xác thực khóa công khai. Ngay cả khi tôi chắc chắn rằng "PasswordAuthentication" là có trong/etc/ssh/ssh_config của tôi. Đây là nhật ký ssh của tôi. Tôi muốn biết tại sao xác thực mật khẩu không được cho phép trong ssh của tôi? Tái bút: Tôi có thể buộc ssh sử dụng xác thực mật khẩu bằng cách thêm "-o PubkeyAuthentication = no" vào dòng lệnh.Tại sao không cho phép xác thực mật khẩu?

[email protected]:~$ ssh -l lab 10.19.170.114 -v 
OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012 
debug1: Reading configuration data /home/markz/.ssh/config 
debug1: Reading configuration data /etc/ssh/ssh_config 
debug1: /etc/ssh/ssh_config line 19: Applying options for * 
debug1: Connecting to 10.19.170.114 [10.19.170.114] port 22. 
debug1: Connection established. 
debug1: identity file /home/markz/.ssh/id_rsa type -1 
debug1: identity file /home/markz/.ssh/id_rsa-cert type -1 
debug1: identity file /home/markz/.ssh/id_dsa type -1 
debug1: identity file /home/markz/.ssh/id_dsa-cert type -1 
debug1: identity file /home/markz/.ssh/id_ecdsa type -1 
debug1: identity file /home/markz/.ssh/id_ecdsa-cert type -1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1 
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1 pat OpenSSH* 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr hmac-md5 none 
debug1: kex: client->server aes128-ctr hmac-md5 none 
debug1: sending SSH2_MSG_KEX_ECDH_INIT 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug1: Server host key: ECDSA d5:c0:00:1b:bf:54:56:a0:c6:68:6f:62:a4:1a:e3:e1 
debug1: Host '10.19.170.114' is known and matches the ECDSA host key. 
debug1: Found key in /home/markz/.ssh/known_hosts:10 
debug1: ssh_ecdsa_verify: signature correct 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
debug1: Roaming not allowed by server 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug1: Authentications that can continue: publickey,password 
debug1: Next authentication method: publickey 
debug1: Offering RSA public key: [email protected] 
debug1: Authentications that can continue: publickey,password 
debug1: Offering RSA public key: [email protected] 
debug1: Authentications that can continue: publickey,password 
debug1: Offering RSA public key: [email protected] 
debug1: Authentications that can continue: publickey,password 
debug1: Offering RSA public key: [email protected] 
debug1: Authentications that can continue: publickey,password 
debug1: Offering RSA public key: [email protected] 
debug1: Authentications that can continue: publickey,password 
debug1: Offering RSA public key: [email protected] 
Received disconnect from 10.19.170.114: 2: Too many authentication failures for lab 

Trả lời

3

Máy khách SSH không có thay đổi thậm chí thử xác thực mật khẩu vì tất cả các lần xác thực được sử dụng cho khóa công khai của bạn.

Removed khóa công khai sử dụng, thêm một cái gì đó giống như

Host * PubkeyAuthentication = no

để ~/.ssh/config hoặc thực sự sử dụng chứng thực khóa công khai bằng cách thêm một khóa công khai để ~/.ssh/authorized_keys ở phía máy chủ.

+0

Cảm ơn. Có, tôi có một số khóa công khai trong thư mục ~/.ssh của tôi, nhưng theo sự hiểu biết của tôi, ssh không nên sử dụng chúng để cố gắng xác thực ngoại trừ id_rsa.pub. Nhưng dù sao, tôi nghĩ rằng đề nghị của bạn là đúng, tôi sẽ cố gắng đó. –

+0

Bằng cách thêm "Host * PubkeyAuthentication = no", tôi có thể đăng nhập vào máy chủ yêu cầu xác thực mật khẩu nhưng không thể đăng nhập máy chủ yêu cầu pubkey. :( –

+0

Được rồi, tôi đã tìm ra. Cần thêm "PubkeyAuthentication yes" cho mỗi trang web yêu cầu xác thực pubkey. –

4

Tôi sợ rằng bạn có quá nhiều khóa khả dụng trong số ~/.ssh.

ssh dường như cố gắng sử dụng mỗi khóa đầu tiên khả dụng, nhưng máy đích sẽ chỉ chấp nhận 5 yêu cầu xác thực, vì vậy không có cơ hội thử xác thực mật khẩu.

Di chuyển hoặc xóa một số phím không sử dụng để bạn có ít hơn 5 khóa trong "ssh-add -l".

1

Tôi cũng phát hiện ra rằng lỗi này hiện lên khi bạn không có cùng tên máy chủ được thiết lập như máy chủ báo cáo chính nó, mặc dù tài khoản của bạn là hợp lệ và quyền của khóa công khai ssh được thiết lập chính xác.

Vì vậy, ví dụ: bạn đã ghi đè tên máy chủ trong/etc/hosts của bạn cục bộ, cho một bí danh khác với tên máy chủ thực sự của máy chủ SSH từ xa.

XX.XX.YY.YY host.correct.domain hostalias 

Nếu bạn đang cố gắng để ssh sử dụng hostname như hostalias, máy chủ SSH từ xa từ chối chứng thực khóa công khai, vì hostname của nó là host.correct.domain. Điều này xảy ra trên phiên bản máy chủ OpenSSH v4.3.

Hy vọng điều này sẽ hữu ích.

+0

Được rồi .. Mặc dù vấn đề của tôi không phải là điều này, cảm ơn. –

Các vấn đề liên quan