원격 서버에 대한 SSH 클라이언트 연결을 설정하기 위해 보다 효율적인 접근 방식을 취하려고 합니다. 공개/개인 키 쌍을 생성하고 이를 사용하여 ssh-copy-id
원격 서버에 공개 키를 설치했습니다.
그런데 ssh -i ~/.ssh/mykey user@host
공개키 인증으로 비밀번호를 우회하려면 비밀번호를 입력해야 하나요?
이 문제를 해결하기 위해 이 경로를 사용 .bashrc
하고 별칭을 만들었습니다. 그러나 이것이 가능한 방법입니까? 아니면 일반적인 키를 사용할 수 있도록 공개 키를 허용하는 서버의 문제입니까 ssh user@host
?
답변1
키 쌍 인증을 성공적으로 사용할 수 있는 경우 ssh -i ~/.ssh/mykey user@host
SSH 클라이언트 구성을 통해 이를 쉽게 자동화할 수 있습니다.
예를 들어 다음을 파일에 추가하면 다음과 같습니다 ~/.ssh/config
.
Host hostname
User username
IdentityFile ~/.ssh/mykey
IdentitiesOnly yes # see comment in answer below
그런 다음 계속 진행 ssh hostname
하면 사용자 이름과 ID 파일 설정이 파일에 의해 처리되며 config
그들이 말하는 대로 경쟁할 준비가 된 것입니다.
이 IdentityFile
지시어(재정의된 -i
스위치 )에는 , 및 를 ssh
찾는 기본 설정이 있으며 , 개인 키에 대한 다른 파일 이름은 파일이나 명령줄에서 지정해야 합니다.~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/id_ed25519
~/.ssh/id_rsa
config
-i
SSH 구성에 추가하면 IdentityFile
클라이언트가 여전히 기본 키를 보내는 것을 볼 수 있습니다( ssh -vv
출력 참조). 여러 계정으로 github과 같은 사이트를 사용할 때 문제가 될 수 있습니다. IdentitiesOnly yes
SSH가 지정한 키만 사용하도록 하려면 해당 키를 포함해야 합니다.