SSH에서는 키 인증을 위해 여전히 비밀번호가 필요합니다.

SSH에서는 키 인증을 위해 여전히 비밀번호가 필요합니다.

Linux 운영 체제를 실행하는 두 개의 보드가 있습니다. 클라이언트는 라즈베리 운영 체제를 실행하고 서버는 ubuntu18.04를 실행하고 있습니다. 클라이언트에서 다음 명령을 사용하여 SSH 키 쌍을 생성합니다.

ssh-keygen

키를 저장할 파일을 입력하라는 메시지가 표시되어 my_key를 썼습니다. 그런 다음 Enter를 눌러 비밀번호 빈칸을 채웠습니다. /home/asd/.ssh/my_key 및 /home/asd/.ssh/my_key.pub의 2개 파일을 생성합니다.

다음 명령을 사용하십시오.

ssh-copy-id -i /home/asd/.ssh/my_key.pub client_username@hostname

공개키를 서버에 복사했습니다. 확인했는데 지금까지 모든 것이 정상입니다. 서버에 연결하려고 하면 비밀번호를 묻는 메시지가 나타납니다. 왜?

SSH 키 쌍을 생성하고 저장 위치의 이름 파일을 기본값(/home/asd/.ssh/id_rsa)으로 채우면 비밀번호를 묻지 않고 서버에 연결할 수 있습니다. 키를 저장하기 위해 내 파일 이름을 선택할 때 뭔가 잘못하고 있는 걸까요?

편집: 서버에 연결하기 위해 다음 명령을 사용했습니다.

ssh client_username@ip_server

답변1

@steeldriver에게 감사드립니다. 이것이 내 문제를 해결한 답변입니다. 기본적으로 기본이 아닌 이름으로 SSH 키 쌍을 생성할 때 SSH를 사용하여 서버에 연결하려면 -i 매개변수를 사용하여 공개 키도 제공해야 합니다.

ssh username_server@host_server_ip -i path_to_public_key

관련 정보