다양한 인증 방법으로 이중 SSH 터널을 만드는 방법은 무엇입니까?

다양한 인증 방법으로 이중 SSH 터널을 만드는 방법은 무엇입니까?

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

관련 정보