• Home
  • LINUX
  • SSH 로그인 접속시 known_hosts 충돌 에러 발생시

SSH 로그인 접속시 known_hosts 충돌 에러 발생시

SSH 접속시 에러문구

아래와 같은 접속 에러 문구가 발생한다면 접속하려는 호스트 접속

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for foo-bar.net has changed,
and the key for the corresponding IP address 127.0.0.1
is unchanged. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
Offending key for IP in /home/user/.ssh/known_hosts:6
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

해결방법

  • ssh-keygen 으로 호스트 정보 업데이트
    $ ssh-keygen -R ${접속하려는 호스트 정보}
  • known_hosts 파일 직접 수정
    • known_hosts 파일 편집
      에러 문구에 보면 ' /home/user/.ssh/known_hosts:6' 이라는 에러 문구에 수정해야할 파일의 위치 확인 

      $ vi /home/user/.ssh.know_hosts
    • 해당위치로 이동(라인 6)
      vi 편집에서 ':6'를 입력하면 해당 라인(6)으로 이동됨
    • 해당 호스트 정보 삭제
      vi 편집에서 'dd'를 입력하면 해당 라인이 삭제됨
    • 저장 후 편집 종료
      vi 편집에서 ':wq'를 입력하면 저장후에 편집을 종료함

접속 TIP

  • 접속계정을 지정해서 접속하는 방법
    $ ssh ${접속하고자 하는 사용자 아이디}@${접속하려는 호스트 정보}
    or
    $ ssh ${접속하려는 호스트 정보} -l ${접속하고자 하는 사용자 아이디}
  • 접속하려는 호스트의 포트지정(기본은 22포트)
    $ ssh ${접속하고자 하는 사용자 아이디}@${접속하려는 호스트 정보} -p ${접속하려는 포트}
    or
    $ ssh ${접속하려는 호스트 정보} -l ${접속하고자 하는 사용자 아이디} -p ${접속하려는 포트}