내 로컬 컴퓨터인 호스트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
.