SSH는 비밀번호 프롬프트 없이 로컬 연결을 설정하지 않습니다.

SSH는 비밀번호 프롬프트 없이 로컬 연결을 설정하지 않습니다.

루프백 SSH를 설정하려고 할 때 공개 키를 설치한 후 비밀번호를 묻는 메시지가 표시되었습니다. 이는 CentOS 6.4 서버입니다. ssh_config( grep -v ^# /etc/ssh/sshd_config | grep -v ^$)는 여기에 있습니다:http://pastebin.com/Wg6iuL3x

관련된 두 사용자는 루트와 git입니다.

# clean root dir
cd ~/.ssh/ && rm -f $(ls | grep -i 'rsa\|dsa')
echo '' > known_hosts

# clean git dir
/home/git/.ssh/ && rm -f $(ls | grep -v 'authorized_keys')
chmod 0700 /home/git/.ssh && chmod 0600 /home/git/.ssh/authorized_keys
echo '' > authorized_keys

# back to root
ssh-keygen -f ~/.ssh/git_dsa -t dsa -N ''
cat ~/.ssh/git_dsa.pub >> /home/git/.ssh/authorized_keys

ssh -vvv git@localhost
git@localhost's password: 
...

이것은 -v로그 입니다

debug1: Next authentication method: publickey
debug1: Offering public key: git.rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Offering public key: git.dsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Next authentication method: password

로그는 -vvv여기에 있습니다:http://pastebin.com/j7iGvvMH

노트

git_dsa.pub 키가 표시되거나 인식되지 않는 것 같습니다. 문제의 원인이 확실합니까?

답변1

SELinux를 사용하는 데 문제가 있을 수 있습니다. 보안을 매우 중요하게 생각하고(결국 루프백 SSH를 사용하고 있음) 보안을 비활성화하고 싶지 않다고 가정하면 루트로 다음을 수행하십시오.

 restorecon -R -v /home/git/.ssh

정말로 비활성화하려면 /etc/selinux/config를 편집하고 거기에서 SELINUX=permissive를 설정하십시오.

답변2

ssh에게 git_dsa 키를 사용하라고 지시하지 않았습니다:

ssh -i /root/.ssh/git_dsa git@localhost

또는 /root/.ssh/config적절한 IdentityFile지시어를 편집하고 추가하세요.

관련 정보