본문 바로가기
CICD

ssh: connect to host localhost port 10022: Connection refused 해결방법(jenkins, ssh server, docker)

by 하나다음은둘 2023. 12. 22.

인프런의 이도원 강사님의 교육을 수행하다 아래와 같은 에러가 나왔다.

 

이 에러가 나게 된 이유가 다른 위치에서 와이파이를 사용하면서 공부하다가 집에와서 하려고 ssh server에 접속시도를 cmd에 아래와 같이 입력하였는데 에러가 나왔다..

ssh root@localhost -p 10022 

ssh: connect to host localhost port 10022: Connection refused

일단 docker ps -a을 사용해서 docker-serve가 어떻게 되어있는지 봤는데 STATUS를 확인해보니 Exit로 되어있었다. 뭐 당연하다 다른 위치에서 사용하다가 집에서 다시 접속하려는 것이니.. 아무튼

docker container를 삭제하고 다시 시도를 해보았다.

docker rm docker-server

여러분들은 본인 컨테이너 이름을 적으면 되겠습니다.. 그리고 다시 docker

그리고 똑같은 container를 만들고 ssh server에 접속을 해보았다.

저는 아래와 같이 명령어를 하였고 잘 생성된 것도 봤습니다.

docker run --privileged --name docker-server -itd -p 10022:22 -p 8082:8080 -e container=docker -v /sys/fs/cgroup:/sys/fs/cgroup edowon0623/docker:latest /usr/sbin/init

 

자 이제 되겠지하고 cmd창에 ssh server입력!

ssh root@localhost -p 10022

그랬더니.. 세상에 아래와 같은 에러가 뜬게 아니겠습니까..


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:/3gj6yAu9YW0vFo5+/sV4/jgfB09tLqRN60AGyoLQqM.
Please contact your system administrator.
Add correct host key in C:\\Users\\hd/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\hd/.ssh/known_hosts:3
Host key for [localhost]:10022 has changed and you have requested strict checking.
Host key verification failed.


이걸 찾아보니 접속하던 서버IP가 달라졌을 경우에 이런 에러가 뜬다고 한다. 아마 외부에서 다른 IP로 노트북에 접속하고 있다가 집에와서 집 와이파이로 접속하니 접속이 되지 않았다는 것을 알았다.. 그런데 그 정보를 저장하고 있는 파일은 바로 해당 정보를 저장하고 있는 known_hosts 라는 파일에 그 아이피 정보가 키값으로 잘못 저장되어 있는 것이 문제가 된 것이었다. 해당 파일은 C:\Users\(user명)\.ssh 폴더 안에 있다.

known_hosts 파일을 텍스트로 열어보니 완전 키값으로 해석 할 수 없는 것이 아래와 같이 있었다.


[localhost]:10022 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFPtSwk5SEyDXaLHV01dNXbcV9MPB9KZsqWMMJ+OaVXO
[localhost]:10022 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDWxF9Nqr8tkh/5PuKVyi5dOI1WqgsXlyhtuptxgjB7QHpgEy9VPbHES7WtO0h1AjEbggdUTK2QVNhsHxZwILB99D6NPhwcQHNoK1Gic3nstSCzdab9xK9pDYJssAgY6EZAGEhPEN24fYmjuBLhacsLdaHiiiLdAtQaAJwu2JOLn5tGpm5EGjRFgfjANOPpHLtQJdQGuM5SA0rMYgO3CsLzyqPfNEedzp4G924y7NnVSQZoDAi3Ncf/+3GES64py37R3LxBMbepmTan7bM/jSyEyNVh4kvZDtROWAsAUV6HH3ZBJO0UtGhe4daHV+p7GoRtCu/dFN39Ggeiva1T/6UpuzZENDFFThF/fbq8hgVuZKwBP99MeJshLGwE73GQwWMlNr2Yla4WAsPNVJvcZ6522XZDx1f6lkD2CwSXcTfeWhgR/pkCk23c+RQALxQ4wQL2RH30OT2c/43I7xRxEC/ygx8CBs2FwX3FfvaljzJJTYOpFmIq2o6IVo5PKXZEZEs=
[localhost]:10022 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBJ7kdMoNOL+ujEFYzBplJO/H5fEeDSLIvEu7GYqgNPmF9gpET6qiMAg+i/8qT7cH6bnB5dm9xFgpspp8yQnRfek=


이는 어짜피 서버 실행시 만들어 지는 것이라고 하여 과감하게 known_hosts  파일을 삭제했다!

그리고 ssh server 다시 실행하니 캬! 다시 처음에 봤던 화면을 볼 수 있었다. yes를 하고.. password까지 입력하여 성공적으로 접속이 되었다.(비밀번호 한번 틀린건 안비밀)

ssh root@localhost -p 10022

The authenticity of host '[localhost]:10022 ([::1]:10022)' can't be established.
ED25519 key fingerprint is SHA256:/3gj6yAu9YW0vFo5+/sV4/jgfB09tLqRN60AGyoLQqM.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:10022' (ED25519) to the list of known hosts.
root@localhost's password:
Permission denied, please try again.
root@localhost's password:
Last failed login: Thu Dec 21 14:45:13 UTC 2023 from 172.17.0.1 on ssh:notty
There was 1 failed login attempt since the last successful login.
[root@5d13ba1366da ~]#

 

해결 방법을 요약하면

1. 접속 안되는 컨테이너를 삭제

2. known_hosts  파일 삭제(경로 : C:\Users\(user명)\.ssh 폴더 안)

3. ssh서버 접속 : ssh root@localhost -p 10022

 

위와 같다. 다만 잘 생각해보니 굳이 컨테이너를 삭제 할 필요가 없고 known_hosts 파일을 삭제하고 다시 ssh server를 접속하면 될 것 같다. 왜냐하면 ip정보가 key값으로 담겨있는 known_hosts 파일의 ip만 변경해주면 되는 것이기에 그렇다. 혹은 현재 pc ip를 변경해주면 삭제 할 필요도 없지 않을까 생각해본다. 그냥 내가 해결했는데 위의 내용이 아닐까 두렵지만 아무튼 위와 같이 해결했다. 혹시 잘못된 정보면 꼭 수정을 할 예정이다. 

'CICD' 카테고리의 다른 글

Apache Tomcat 9.x 버전 설치방법  (0) 2023.12.20

댓글