공개 키를 통해 로그인을 시도할 때 SSH에서 비밀번호를 묻습니다.

공개 키를 통해 로그인을 시도할 때 SSH에서 비밀번호를 묻습니다.

이 줄이 내 서버에 존재하지만/etc/ssh/ssd_config

RSAAuthentication yes
PubkeyAuthentication yes

인증에 사용되는 개인 키를 명시적으로 제공하여 위 서버에 로그인하려고 하면 비밀번호를 묻는 메시지가 나타납니다.

$ ssh -i ~/Desktop/some_id_rsa myusername@server-hostname
myusername@server-hostname's password: 

답변1

권한을 변경해주세요authorized_keys

chmod 600 ~/.ssh/authorized_keys

답변2

authorized_keys모든 키를 삭제하고 키를 백업한 후 다음 단계를 따르시기 바랍니다 .

1. 클라이언트에서 키를 생성합니다.

ssh-keygen -t rsa -b 4096

2. 공개 키를 원격 장치에 복사합니다.

2.A. 사용 ssh-copy-id(최선의 선택)

ssh-copy-id <user>@<remote-host>

2.B. 보안 복제 사용(원격 CentOS 호스트에 권장)

  • B.1.먼저 원격 사용자와 SSH 연결을 설정합니다.
ssh <user>@<remote-host> -p <port>
  • B.2.다음으로 ~/.ssh디렉터리와 authorized_keys파일을 만듭니다.
mkdir -vp ~/.ssh
touch ~/.ssh/authorized_keys
  • B.3.chmod파일 권한을 변경하려면 다음 명령을 사용하십시오 .
sudo chmod -v 700 ~/.ssh
sudo chmod -v 600 ~/.ssh/authorized_keys
  • B.4.다음을 입력하여 id_rsa.pub내용(SSH 공개 키)을 authorized_keys원격 서버에 이전에 생성된 파일 에 복사합니다.
scp ~/.ssh/id_rsa.pub -P <port> <user>@<remote-host>:~/.ssh/authorized_keys

노트:

디렉터리 $HOME.ssh파일이 authorized_keys클라이언트에서 올바른 권한을 가지고 있는지 확인하세요.

sudo chmod -v 700 ~
sudo chmod -v 700 ~/.ssh
sudo chmod -v 600 ~/.ssh/authorized_keys
  • chmod 700파일을 실행 가능하게 만들기
  • chmod 600사용자가 파일을 읽고 쓸 수 있도록 허용합니다.

관련 정보