본문 바로가기
+ OS

[Linux / Mac] SSH 접근시 "Are you sure you want to continue connecting (yes/no)?" 없이 접근하기

by :: Teacher :: 2020. 11. 15.
728x90
반응형

리눅스(Linux)나 맥(Mac)에서 SSH를 이용하여 타 시스템 최초 접근시 "Are you sure you want to continue connecting (yes/no)?" 와 같은 질문을 항상 물어 본다.

물론 최초 접근시 yes를 입력 이후에는 known_hosts 파일에 해당 시스템의 공개키(Public Key)가 등록됨에 따라 두번째 접근 부터는 물어 보지 않는다.

하지만 여러 시스템을 접근을 계속 하거나, known_host 파일에 등록되지 않은 상태에서 쉘 스크립트(Shell Script)등을 이용하는 경우 계속적으로 Yes를 입력해줘야 하는 번거로움이 있다. 

$ ssh infolab@192.168.0.25
The authenticity of host '192.168.0.25 (192.168.0.25)' can't be established.
ECDSA key fingerprint is SHA256:tR2RPoBhwkPsTzMfltqtURGRhgM74ZCsiqIHFlisvJc.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

이때 SSH 옵션(Option) 설정을 통해서 해당 부분을 제외 시켜 줄 수 있으며 그 방법은 2가지가 있다. 

1. SSH 명령어 입력시 옵션 사용

  • -o StrictHostKeyChecking=no

# SSH StrictHostKeyChecking=no 옵션 설정

$ ssh -o StrictHostKeyChecking=no infolab@192.168.0.25
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Nov 14 08:22:41 2020 from 192.168.0.28
[infolab@dev-server ~]$

이렇게 SSH 옵션을 계속적으로 사용하여 할 수 있으나, 명령어 자체에 계속 옵션을 넣어 사용시 귀찮고, 불편하다.

2. SSH Config 파일 수정 후 사용

  • /etc/ssh/ssh_config

    • StrictHostKeyChecking no

우선 해당 SSH Config 파일에 StrictHostKeyChecking no 옵션 설정을 하도록 하자.

# ssh_config 파일에 StrictHostKeyChecking no 추가

$ cat /etc/ssh/ssh_config | grep StrictHostKeyChecking
StrictHostKeyChecking no

/etc/ssh/ssh_config 파일에 설정을 완료 후 다시 한번 SSH 접근을 해보도록 하자.

# /etc/ssh/ssh_config 설정 후 접근

$ ssh infolab@192.168.0.25
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Sat Nov 14 08:23:01 2020 from 192.168.0.28
[infolab@dev-server ~]$

이제 SSH 통해서 최초 접근시 발생되는 접근 여부를 물어보는 핑거프린트(Fingerprint)가 발생되지 않는다. 

728x90
반응형

댓글


loading