![다양한 인증 방법으로 이중 SSH 터널을 만드는 방법은 무엇입니까?](https://linux55.com/image/164048/%EB%8B%A4%EC%96%91%ED%95%9C%20%EC%9D%B8%EC%A6%9D%20%EB%B0%A9%EB%B2%95%EC%9C%BC%EB%A1%9C%20%EC%9D%B4%EC%A4%91%20SSH%20%ED%84%B0%EB%84%90%EC%9D%84%20%EB%A7%8C%EB%93%9C%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 로컬 컴퓨터인 호스트1과 호스트2가 있습니다.
- 호스트 2는 호스트 1에서만 액세스할 수 있습니다.
- 내 로컬 컴퓨터에서 호스트 1에 액세스할 수 있습니다.
- Host1은 개인 키 인증 방법을 사용하고 있습니다.
- 호스트2가 비밀번호를 사용하고 있습니다
- 호스트1과 호스트2의 사용자 이름이 다릅니다.
- 내 로컬 컴퓨터에서 호스트 2의 포트 1529에서 실행되는 서비스에 액세스해야 합니다.
따라서 다음을 통해 Host1에 연결할 수 있습니다.
ssh -i path_to_key user1@3host1
그리고 다음을 통해 호스트1에서 호스트2로:
sshpass -p 'my-pass' ssh user2@host2
지금까지 나는 성공하지 못한 채 다음 명령을 시도했습니다.
ssh -i path_to_key -L 1529:host1:1529 user1@host1 sshpass -p 'my-pass' ssh -L 1529:host2:1529 user2@host2
어떤 아이디어가 있나요?
답변1
해당 서비스에 액세스하려면 두 번째 컴퓨터에 SSH로 연결해야 합니까?
제가 보기에 더 쉬운 방법은 첫 번째 호스트에 터널을 설정하고 거기에서 호스트2의 서비스를 쿼리하는 것입니다. 이 경우 다음을 사용할 수 있어야 합니다.
ssh -i path_to_key -L 1529:host2:1529 user1@host1
그런 다음 워크스테이션의 백그라운드에서 SSH를 실행하면 telnet localhost 1529
연결이 host2:1529
.