여기 누군가가 나에게 올바른 방향을 알려줄 수 있기를 바랍니다.
예상 결과: 원격 장치에 대한 SSH 연결이 성공했습니다.
과제/배경: 전국의 외딴 지역에 고정 공용 IP 주소가 없는 장치(인터넷 브레이크아웃을 위해 GSM 사용)가 있으며 이러한 장치는 SSH를 통해 브레이크아웃할 수 있습니다.
내 생각은 이러한 장치를 유지 관리하는 것과 관련하여 (가능한 경우) 클라우드의 서버를 중개자로 사용하고 이러한 장치가 중간자 서버에 대한 일종의 역방향 터널을 생성한 다음 관리자가 가로채도록 하는 것입니다. 그것 또는 뭔가 그 효과를 작동하십시오.
다시 정리하자면, 해당 장치는 SSH를 통해 직접 연결될 수는 없지만, 깨질 수는 있습니다. 목표는 사무실에서 터미널에 액세스할 수 있도록 하는 것입니다. mitmssh를 팔로우했지만 이에 대한 진전이 없습니다. 서버 A(고정 주소 없음, SSH를 통해 직접 연결할 수 없지만 돌파구가 있음)
서버 B(표준 서버, 중개인으로 사용 가능)
서버 C(미국 관리자)
"ssh user@serverA -R serverB:12345:ServerA:22"와 같은 것을 시도했습니다.
이렇게 하면 터널이 생성되지만 SSH 연결을 확보하기가 어려워집니다.
답변1
서버 A에서는 다음과 같이 자동으로 실행해야 합니다(예: 시스템 서비스 또는 그곳에서 사용할 수 있는 모든 것).
ssh userB@serverB -R serverC:1234:serverA:22
authorized_keys
userA로, 서버 A에 있는 사용자 A의 공개 키는 서버 B에 있는 사용자 B의 파일 에 있습니다 .
이를 시도하기 위해 다른 수단을 통해 로컬로 쉽게 액세스할 수 있는 서버 A를 사용하고 서비스로 설치하기 전에 직접 명령을 실행하겠습니다.
그런 다음 서버 C에서 다음을 수행할 수 있습니다.
ssh userX@serverB -p 1234
여기서 userX는 서버 A의 사용자입니다.
문제가 작동하지 않으면 -v
자세한 플래그를 사용하여 ssh
디버깅하세요. 필요한 경우 서버 B와 서버 A의 ssh 데몬을 상세 모드로 설정할 수도 있습니다.
주소가 NAT 등으로 인해 이 확인이 작동하지 않는 경우 처음에 serverC
브레이크아웃 연결을 무시하여 (일시적으로) 모든 사람의 액세스를 허용할 수도 있습니다.