태그 보관물: console

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 ${접속하려는 포트}

OSX 터미널에서 su 명령어 사용하기

처음 설치한 OSX의 터미널에서는 'su' 명령어를 사용할 수 없다.
'su' 명령어를 사용할 수 없는 이유는 비밀번호가 설정되어 있지 않기 때문이다.

'su' 명령어를 사용하기 위해서는 비밀번호만 설정하면 된다.

  • 터미널에서 루트 쉘로 로그인
    $ sudo -s
    $ Password : ${로그인한 계정의 비밀번호}

    - 다음의 명령을 실행하는 계정은 관리자 권한이 있어야 한다.

  • 루트 계정의 비밀번호 설정
    성공적으로 로그인하면 콘솔의 앞 부분이 'bash-3.2'로 변경된다.

    # passwd root
    Changin password for root.
    New password: ${원하는 비밀번호}
    Retype new password: ${비밀번호 재입력}

비밀번호까지 모두 잘 입력했다면, 'exit'를 치고 나오면 'su' 명령어를 사용할 수 있다.