SSH 와 파일 전송 · 터널링과 포트포워딩 · 퀴즈
퀴즈: 터널링
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
`ssh -L 15432:db.internal:5432 bastion` 에서 `db.internal` 은 어디를 기준으로 해석되나요?
- 터널을 연 내 로컬 머신
- 공용 DNS의 루트 네임서버
- 포워딩을 수행하는 bastion SSH 서버
- 로컬과 bastion 양쪽에서 동시에
`-R 8080:localhost:3000` 으로 연 포트가 SSH 서버의 다른 사용자에게는 보이지 않습니다. 이유는?
- 원격 포워딩은 기본적으로 서버의 루프백에만 바인딩된다
- 방화벽이 막고 있다
- 권한이 부족하다
- 포트가 1024 미만이 아니어서
에이전트 포워딩(-A) 대신 ProxyJump(-J)를 권하는 이유는?
- -J 는 중계 과정이 단순해 전송이 더 빠르다
- 경유 서버의 root 가 내 에이전트 소켓으로 내 키를 대신 쓸 수 있는 위험이 -J 에는 없다
- -A 는 최신 OpenSSH 에서 제거되어 쓸 수 없다
- -J 가 더 강한 암호 알고리즘을 협상한다
`PermitOpen 10.0.5.20:5432` 의 효과는?
- 그 주소로만 SSH 접속을 허용한다
- 포워딩 목적지를 그 주소:포트로만 제한한다
- 그 포트를 자동으로 포워딩한다
- 그 주소에서 오는 연결만 허용한다
SSH 세션이 멈춰 Ctrl+C 도 안 먹을 때 탈출하는 방법은?
- Ctrl+D 를 여러 번
- Ctrl+Z 후 kill
- 줄 맨 처음에서 물결표(~) 를 누른 뒤 마침표
- 터미널을 닫는다
접속 중인 세션에 포워딩을 추가하려면?
- 이스케이프 시퀀스 ~C 로 커맨드라인을 열어 -L 을 추가한다
- 세션을 끊고 옵션을 붙여 다시 접속한다
- 클라이언트 프로세스에 SIGHUP 을 보낸다
- 세션 도중에는 추가할 방법이 없다