SSH를 사용하여 IdentityFile 지정

SSH를 사용하여 IdentityFile 지정

원격 서버에 대한 SSH 클라이언트 연결을 설정하기 위해 보다 효율적인 접근 방식을 취하려고 합니다. 공개/개인 키 쌍을 생성하고 이를 사용하여 ssh-copy-id원격 서버에 공개 키를 설치했습니다.

그런데 ssh -i ~/.ssh/mykey user@host공개키 인증으로 비밀번호를 우회하려면 비밀번호를 입력해야 하나요?

이 문제를 해결하기 위해 이 경로를 사용 .bashrc하고 별칭을 만들었습니다. 그러나 이것이 가능한 방법입니까? 아니면 일반적인 키를 사용할 수 있도록 공개 키를 허용하는 서버의 문제입니까 ssh user@host?

답변1

키 쌍 인증을 성공적으로 사용할 수 있는 경우 ssh -i ~/.ssh/mykey user@hostSSH 클라이언트 구성을 통해 이를 쉽게 자동화할 수 있습니다.

예를 들어 다음을 파일에 추가하면 다음과 같습니다 ~/.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_rsaconfig-i

SSH 구성에 추가하면 IdentityFile클라이언트가 여전히 기본 키를 보내는 것을 볼 수 있습니다( ssh -vv출력 참조). 여러 계정으로 github과 같은 사이트를 사용할 때 문제가 될 수 있습니다. IdentitiesOnly yesSSH가 지정한 키만 사용하도록 하려면 해당 키를 포함해야 합니다.

관련 정보