목차
SSH 터널링은 보통 접속 전에만 설정 가능한 걸로 알고 있죠? 하지만 터널링이 필요한 상황은 접속한 후에도 갑자기 생길 수 있어요. 이럴 땐 SSH escape sequence를 이용하면 터널링을 새로 추가할 수 있어요. 이번 글에서는 SSH 접속 후에도 터널링 설정을 바꿀 수 있는 방법을 알려드릴게요 🛠️
SSH escape sequence, 정말 쓸모 있어요
SSH 연결 중에 연결을 끊거나, 포트를 추가로 포워딩하고 싶을 때는 어떻게 할까요? 터미널을 닫고 다시 연결하는 건 너무 번거롭죠. 이럴 때 escape sequence(이스케이프 시퀀스)를 사용하면 해결돼요!
사용 방법은 간단해요. SSH로 접속한 후, Enter 키를 두 번 누르고 ~ 키를 누른 뒤 원하는 명령을 입력하면 돼요. 예를 들어, ~C를 입력하면 SSH 명령어 프롬프트에 들어갈 수 있어요.
자주 쓰는 escape sequence 명령어
여기서 몇 가지 유용한 escape 명령어를 알려줄게요 💡
- ~. : 현재 SSH 연결을 깔끔하게 종료할 수 있어요.
- ~C :
ssh>
프롬프트로 진입해서 포트포워딩을 새로 추가하거나 취소할 수 있어요. - ~? : 사용할 수 있는 escape 명령어 목록을 보여줘요.
예를 들어, Enter 두 번 → ~C 입력 후에는 다음과 같은 명령어를 볼 수 있어요:
ssh> ? Commands: -L[bind_address:]port:host:hostport Request local forward -R[bind_address:]port:host:hostport Request remote forward -D[bind_address:]port Request dynamic forward -KL[bind_address:]port Cancel local forward -KR[bind_address:]port Cancel remote forward -KD[bind_address:]port Cancel dynamic forward
이 기능을 쓰면, 기존 연결을 유지하면서도 즉석에서 포트를 포워딩할 수 있어요. 정말 유용하죠? 😊
escape 기능이 안되는것 같아요..
혹시 ~C 명령이 안 먹히거나, 프롬프트 진입이 안 되는 경우가 있나요? 그건 SSH 설정에서 해당 기능이 비활성화 되어 있어서 그럴 수 있어요.
이럴 땐 아래처럼 SSH 연결 전에 명시적으로 옵션을 설정해주면 돼요.
ssh -o EnableEscapeCommandline=yes user@host
또는 ~/.ssh/config
파일에 아래 항목을 추가해두는 것도 좋아요. 모든 SSH 연결에 적용된답니다.
Host * EnableEscapeCommandline yes
이렇게 하면 굳이 ssh 명령어 옵션을 찾을일 없이, 언제든 escape sequence 기능을 사용할 수 있게 돼요.
요약
SSH 터널링은 꼭 연결 전에만 설정해야 하는 건 아니에요. escape sequence를 이용하면 연결된 상태에서도 터널링을 추가, 삭제할 수 있어요. 특히 ~C 명령어는 꼭 기억해두세요! 오작동 시에는 ~.로 연결을 안전하게 종료할 수도 있고요.
오늘은 SSH 터널링을 접속 후 설정하는 방법을 살펴봤어요. 기존 연결을 끊지 않고도 포트포워딩을 추가할 수 있는 팁, 꼭 활용해보세요!