[Linux] ssh 접속시 host key checking 비활성화하기

ssh 접속시 host의 key를 확인하지 않고 접속하는 방법을 알아보자.


환경

  • Linux
  • SSH(OpenSSH)


Host Key Checking

  • ssh를 이용해 원격에 있는 서버에 접근할 때 해당 서버에 대한 인증을 위해 로컬에 저장해둔 키와 서버의 키를 비교하는 작업을 진행한다.
  • 이런 작업을 통해 중간자 공격 같은 부분을 예방할 수 있다.


SSH 접속시 Host Key Checking 비활성화

  • 해당 옵션을 사용해도 만약 저장된 서버의 키가 없다면 ~/.ssh/known_hosts에 추가합니다.
  • 저장된 키가 서버의 키와 다르더라도 접속을 진행합니다.


1. ssh 명령어 사용 시 비활성화

  • StrictHostKeyChecking=no 옵션을 이용
ssh -o StrictHostKeyChecking=no [DOMAIN_OR_IP]


2. ssh config 파일을 수정

~/.ssh/config

  • 아래처럼 특정 호스트에 대해 옵션을 추가할 수 있다.
Host twpower-private-server
    HostName [IP ADDRESS]
    StrictHostKeyChecking no
    Port 22
    User [USERNAME]
    IdentityFile [IDENTITY KEY FILE]

/etc/ssh/ssh_config

  • 아래처럼 StrictHostKeyChecking no를 추가하며 *가 있기 때문에 접속하는 모든 호스트에 대해 Key 확인을 하지 않습니다.
  • /etc/ssh/ssh_config 파일은 해당 시스템에 있는 모든 유저에게 적용되는 옵션을 담고 있습니다.
Host *
    StrictHostKeyChecking no


참고자료