나는 기계를 가지고 A
있고 SSH를 통해 기계 B
에 접근할 수 있지만 Relay
그 반대는 불가능합니다. 해당 포트가 액세스 가능한 유일한 포트인 경우를 제외하고 포트를 열지 않고도 머신을 통해 B
머신 에 액세스할 수 있습니까 ?A
Relay
22
예를 들어, 가능한 해결책은 읽고 쓰기 위해 파일을 열고 여는 것 ssh
입니다 . 에서 에 연결하면 과 의 통신을 위해 이러한 파일을 읽고 쓸 수 있습니다 .B
Relay
stdin
stdout
A
relay
B
이를 달성하기 위한 명령줄 도구를 사용할 수 있는 방법이 있습니까?
답변1
글쎄, 분명히 릴레이에 이미 포트가 열려 있습니다. 그렇지 않으면 ssh가 불가능합니다.
내가 볼 수 있는 유일한 방법은 B가 릴레이로 SSH를 통해 연결하고 A가 사용할 수 있는 역방향 터널을 여는 것입니다. "-R" 옵션을 찾고 있습니다.
답변2
한 가지 방법은 다음과 같습니다.
- 로컬 포트를 중계 및 전달하기 위한 ssh A(예:
ssh -L 6022:127.0.0.1:6022
) 이 명령은 SSH를 통해 A의 로컬 포트 6022를 릴레이의 포트 6022로 전달합니다. - 원격 포트를 로컬로 중계 및 전달하는 ssh B(
ssh -R 6022:127.0.0.1:22
) 이 명령은 중계의 원격 포트 6022를 B의 로컬 포트 22로 전달합니다. - 이제 A에서 SSH를 사용하여 localhost 포트 6022에 연결하면 B에 로그인할 수 있습니다.