ngrok을 사용하여 원격 관리를 수행하는 방법

ngrok을 사용하여 원격 관리를 수행하는 방법

2022-10-13 last update

4 minutes reading devops
이번 달에 우리 회사에 스페인에서 온 새로운 인턴이 시작되었습니다. 우리는 인턴을 위해 맥북을 사용했지만 그는 리눅스 노트북을 처음으로 구입했습니다. 결국 DevOps 사용 사례에 더 잘 맞는 것은 없습니다.

사무실에 만자로리눅스로 머신을 설정했는데, 노트북을 넘겨받은 후 나중에 소프트웨어를 설치하고 업그레이드해야 하는 문제를 해결해야 했습니다. 라우터 뒤의 사설 네트워크에서 항상 인터넷에 액세스하므로 외부에서는 볼 수 없습니다. 그리고 유지 보수가 필요할 때마다 인턴을 위한 코워킹 스페이스를 예약하는 더블린으로 통근하고 싶지는 않습니다.

결국 ngrok 를 사용하여 최소한의 접근 방식을 선택했습니다. ngrok.com의 온라인 서비스와 함께 사용되는 이 멋진 명령줄 도구를 사용하면 개발자가 공용 인터넷에서 엔드포인트가 있는 네트워크 터널을 만들 수 있습니다. 주요 목적은 웹 개발자가 개인 컴퓨터에서 실행되는 응용 프로그램에 대한 액세스를 공유하는 것입니다. 즉, 연결 세부 정보를 공유하는 사람들이 폐쇄된 WiFi 네트워크 내부에 있더라도 웹 브라우저를 개발 랩톱에 연결할 수 있습니다. 그러나 ngrok는 이 기능을 HTTP 프로토콜 및 포트 80 이상으로 확장합니다.

오늘 일찍 인턴이 나에게 Discord와 VS Code를 설치해달라고 요청했을 때, 나는 그에게 간단한 명령을 실행하고 터널 끝점 주소를 알려달라고 요청했습니다. 명령은 다음과 같습니다.

ngrok tcp 22



네트워크 터널과 각 연결의 세부 정보를 나열하는 로컬 웹 사이트를 설정합니다. 그런 다음 인턴은 나열된 주소 tcp://0.tcp.ngrok.io:14463 를 제공하여 SSH 명령을 구성했습니다.

ssh -p 14463 [email protected]



잠시 후 나는 그의 노트북에 로그인했다. 새 패키지를 설치하고 기존 패키지를 업그레이드하는 데 몇 분 후에 완료되고 연결을 끊으라고 요청했습니다. 그것보다 훨씬 간단하지 않습니까?