OZ1NG의 뽀나블(Pwnable)

[CTF][문제 제작] docker container 원격 접속 후 Error opening terminal: unknown. 오류 해결 (docker container <--> ncurses 충돌) 본문

Tips

[CTF][문제 제작] docker container 원격 접속 후 Error opening terminal: unknown. 오류 해결 (docker container <--> ncurses 충돌)

OZ1NG 2022. 11. 12. 19:12

[*] 만든 포너블 문제를 도커 서버에 올리고 nc로 접속 후 게임을 시작하면 Error opening terminal: unknown. 에러가 발생하며 서버에서 틩겼다... 

[에러]

 

[*] 원인

[참고1]에서 대략적인 원인을 알 수 있었는데 nc로 원격 접속한 도커 서버 내에서 실행한 바이너리에서 ncurses를 사용하여 터미널 화면을 조작하려 하면 위 에러가 발생한다는 것이었다.

(참고로 nano를 사용하려는 경우 자주 발생하는 문제인 것 같다. 또한 나는 nc였지만 ssh로 접속을 했어도 동일한 문제가 발생한다고 한다.)

 

[*] 해결

[참고2]에 위치한 링크에서 해결 방법을 알 수 있었는데 아래의 환경변수를 등록해주면 해결이 된다고 한다.

export TERM=xterm

나는 도커 파일로 서버를 켰으므로 도커 파일에 ENV 명령어를 사용하여 위 환경변수를 등록 해주어 해결했다.

# Dockerfile
...
ENV TERM=xterm
...

 

[해결]

 

[*] 참고

1. https://askubuntu.com/questions/1091553/how-do-i-fix-error-opening-terminal-unknown-on-ubuntu-server

 

How do I fix "Error opening terminal: unknown." on Ubuntu server?

I searched and found similar questions but none were specific enough or solved my issue. An example would be this question Starting remote script/terminal based programs through ssh gives error (Er...

askubuntu.com

2. https://bobcares.com/blog/docker-error-opening-terminal-unknown/

 

Docker Error Opening Terminal Unknown - Quick fix!

Docker error opening terminal unknown occurs when we try to enter the docker container and run basic bash commands like the top, less, nano, or vim.

bobcares.com

 

Comments