Thanks for icydog, I found the reason. Once I switch SELinux to permissive,
I can ssh without password. But got the following SELinux message.
After I switch SELinux back to enforced, I cannot ssh without password.
So the problem become how to label the file system.
Summary
SELinux is preventing access to files with the label, file_t.
Detailed Description
SELinux permission checks on files labeled file_t are being denied. file_t
is the context the SELinux kernel gives to files that do not have a label.
This indicates a serious labeling problem. No files on an SELinux box should
ever be labeled file_t. If you have just added a new disk drive to the
system you can relabel it using the restorecon command. Otherwise you
should relabel the entire files system.
Allowing Access
You can execute the following command as root to relabel your computer
system: "touch /.autorelabel; reboot"
Additional Information
Source Context system_u:system_r:sshd_t:s0-s0:c0.c1023
Target Context system_u:object_r:file_t:s0
Target Objects None [ dir ]
Affected RPM Packages openssh-server-4.7p1-2.fc8 [application]
Policy RPM selinux-policy-3.0.8-47.fc8
Selinux Enabled True
Policy Type targeted
MLS Enabled True
Enforcing Mode Permissive
Plugin Name plugins.file
Host Name dh051-116.chem.sunysb.edu
Platform Linux dh051-116.chem.sunysb.edu 2.6.23.1-49.fc8 #1
SMP Thu Nov 8 21:41:26 EST 2007 i686 i686
Alert Count 11
First Seen Tue 13 Nov 2007 10:24:28 AM EST
Last Seen Wed 14 Nov 2007 11:57:42 AM EST
Local ID 07d92b16-7ef5-4544-b32f-4edbfaf02ff4
Line Numbers
Raw Audit Messages
avc: denied { search } for comm=sshd dev=dm-0 egid=500 euid=500
exe=/usr/sbin/sshd exit=-2 fsgid=500 fsuid=500 gid=0 items=0 name=.ssh pid=2910
scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 sgid=0
subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 suid=0 tclass=dir
tcontext=system_u:object_r:file_t:s0 tty=(none) uid=0