Do you have a valid key and the public key is ~/.ssh/authoried_keys of target ssh server, but you still need to type password? Here is the checklist you can refer:
- ~/.ssh and its content should not have read/write permission for other users
cd ; chmod og-rw .ssh
- Same goes with your remote directory ~/.ssh
- Your server home directory should not have read/write permission for other users
cd ~/..; chmod o-rw <homeDir>
- If SELinux is enforced in server, make sure the SELinux type of ~/.ssh in server is user_ssh_home_tcd; ls -dZ .ssh # to list the SELinux type of ~/.ssh
chcon -R -t user_ssh_home_t .ssh
- ssh -vvv <login@server> to get more information on the local side.
- See server log /var/log/secure for sshd output. Change LogLevel to DEBUG3 in /etc/ssh/sshd_config and restart sshd to get more detail debugging messages.
- See server log /var/log/audit/audit.log for SELinux log.
Note that this checking is for Fedora and RHEL. Yet you can change the path of files to accommodate your system.