Tôi không có manh mối về việc này xảy ra như thế nào. Bản phân phối là Science Linux 6.1 và mọi thứ được thiết lập để thực hiện xác thực thông qua khóa chung. Tuy nhiên, khi sshd đang chạy như một daemon (dịch vụ sshd bắt đầu), nó không chấp nhận các khóa công khai. (Để có được đoạn nhật ký này, tôi đã thay đổi tập lệnh sshd để thêm tùy chọn -ddd)
debug1: trying public key file /root/.ssh/authorized_keys
debug1: restore_uid: 0/0
debug1: temporarily_use_uid: 0/0 (e=0/0)
debug1: trying public key file /root/.ssh/authorized_keys2
debug1: restore_uid: 0/0
Failed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug3: mm_answer_keyallowed: key 0x7f266e1a8840 is not allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
debug3: Wrote 64 bytes for a total of 1853
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 1
Nếu sshd được chạy trong chế độ gỡ lỗi /usr/sbin/sshd -ddd
, xác thực hoạt động như một bùa mê:
debug1: trying public key file /root/.ssh/authorized_keys
debug1: fd 4 clearing O_NONBLOCK
debug1: matching key found: file /root/.ssh/authorized_keys, line 1
Found matching RSA key: d7:3a:08:39:f7:28:dc:ea:f3:71:7c:23:92:02:02:d8
debug1: restore_uid: 0/0
debug3: mm_answer_keyallowed: key 0x7f85527ef230 is allowed
debug3: mm_request_send entering: type 22
debug3: mm_request_receive entering
debug3: Wrote 320 bytes for a total of 2109
debug2: userauth_pubkey: authenticated 0 pkalg ssh-rsa
Postponed publickey for root from xxx.xxx.xxx.xxx port xxxxx ssh2
debug1: userauth-request for user root service ssh-connection method publickey
debug1: attempt 2 failures 0
Có ý kiến gì không ?? Đã ai thấy cái gì như thê chưa?
Ghi chú:
Quyền truy cập tệp đã được kiểm tra hai lần:
# ll -d .ssh
drwx------. 2 root root 4096 Oct 14 10:05 .ssh
# ll .ssh
total 16
-rw-------. 1 root root 786 Oct 14 09:35 authorized_keys
-rw-------. 1 root root 1675 Oct 13 08:24 id_rsa
-rw-r--r--. 1 root root 393 Oct 13 08:24 id_rsa.pub
-rw-r--r--. 1 root root 448 Oct 13 12:51 known_hosts
Tôi đã được hỏi nếu sshd có thể truy cập các tập tin root trong "chế độ daemon". Câu trả lời gần nhất tôi nhận được cho câu hỏi này là:
# netstat -ntap | grep 22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 19847/sshd
# ps -ef | grep 19847
root 19847 1 0 09:58 ? 00:00:00 /usr/sbin/sshd
Nếu sshd đang chạy với quyền root, tôi không biết làm thế nào không thể truy cập các tệp của chính nó. Selinux có thể là nguyên nhân?