다음이 가능한지, 어떻게 가능한지 이해하려고 노력하고 있습니다.
T
원격으로(가급적 을 통해) 액세스하려는 머신(대상)이 있다고 가정해 보겠습니다 ssh
.
T
라우터/방화벽 뒤에 있으므로 R
포트(예를 들어)를 포트 22
로 전달할 수 없습니다. R
전체적으로 직접적인 접근은 불가능합니다.22
T
ssh
T
지금 말해
나는
A
내가 완전히 통제할 수 있는 기계를 가지고 있습니다.T
에서 로 SSH를 통해 연결할 수 있습니다A
.T: ssh user@A
효과가 있었습니다.
질문 1:T
의 쉘에 액세스하는 데 사용할 수 있습니까 A
? 즉, T
에서 생성된 연결을 에서 으로 사용할 A
수 있습니까 ?T
A
T ---> ssh ----> A # this is possible
T <--- ? shell ? <---- A # is this possible?
질문 2:만약에1분기것이 가능하다:
L
세 번째 컴퓨터 (예: 랩톱) 가 있고 내 목표는 T
에서 셸에 액세스하는 것입니다 L
. SSH 터널을 통해 A
접속할 수 있나요 L
?
T ----> ssh ----> A <---- ssh < ---- L
T <------- ?? %&£€ ?? <------- L # is this possible?
도움을 주시면 감사하겠습니다.
답변1
이것은 확실히 가능합니다.
1분기: SSH를 통해 역터널이 가능한가요?
예. 예약된 터널에 대한 답변은 다음과 같습니다.
2분기: 터널을 예약할 수 있나요?
예, 이는 기본적으로 터널을 통한 SSH 터널입니다. 터널로의 터널링에 대한 답변은 다음과 같습니다.
답변2
나는 항상 이것을 해왔지만 반대 방향이었습니다. 먼저 T에서 A의 로컬 호스트로 역방향 SSH 터널을 설정한 다음 L에서 AT 터널의 A쪽으로 터널링한 다음 SSH를 사용하여 LA 터널의 로컬 부분에 연결하고 LAT를 통해 원격으로 연결합니다.
내 예에서 A는 SSH 연결을 위해 포트 22123을 수신하고 있습니다.
사용자 이름 user를 로컬로 사용하고 user.name을 원격으로 사용합니다.
로컬에서 ~/.ssh/A_id_rsa 및 ~/.ssh/T_id_rsa라는 이름의 키가 있고 각각 user.name으로 2대의 머신 A와 T에 연결되어 있습니다.
이는 TA로 터널링하고 T에서 실행되어야 하는 스크립트입니다.
#!/bin/bash SSH_KEY="-i /home/user.name/.ssh/A_id_rsa" REMOTE_USER="사용자 이름" GATEWAY_MACHINE="A.domain.com" GATEWAY_SSH_PORT="22123" ssh -N -R2201:127.0.0.1:22 -p ${GATEWAY_SSH_PORT} ${SSH_KEY} ${REMOTE_USER}@${GATEWAY_MACHINE}
이는 LA로 터널링하고 L에서 실행되어야 하는 스크립트입니다.
#!/bin/bash SSH_KEY="-i /home/user/.ssh/A_id_rsa" REMOTE_USER="사용자 이름" GATEWAY_MACHINE="A.domain.com" GATEWAY_SSH_PORT="22123" ssh -N -L2201:127.0.0.1:2201 -p ${GATEWAY_SSH_PORT} ${SSH_KEY} ${REMOTE_USER}@${GATEWAY_MACHINE}
그런 다음 터널 T의 로컬 측을 호출할 수 있도록 localhost의 /etc/hosts 파일에 다음을 추가했습니다.
127.0.0.1T
그런 다음 이 스크립트를 사용합니다. 이 경우에는 /usr/local/bin/T라는 이름으로 연결합니다.
#!/bin/bash SSH_KEY="-i /home/user/.ssh/T_id_rsa" REMOTE_USER="사용자 이름" ssh -p 2201 ${SSH_KEY} ${REMOTE_USER}@T
TA 터널은 역방향이므로 -R이고 LA 터널은 로컬이므로 -L입니다. 스크립트의 -N은 A의 셸을 시작하는 것을 방지하므로 일반적으로 실행하거나 &를 사용하여 백그라운드에서 실행하거나, 비밀번호를 입력한 후 ctrl+Z를 누르고 A_id_rsa를 로드하지 않은 경우 bg를 실행하여 실행합니다. 내 키체인에 넣어서 잠금을 해제해 주세요.