여러 SSH를 통해 로컬 bash 스크립트를 실행하는 방법

여러 SSH를 통해 로컬 bash 스크립트를 실행하는 방법

두 번째 SSH 서버에서 실행하려는 로컬 bash 스크립트가 있습니다.

단계는 다음과 같습니다.
user$- 로컬 컴퓨터
user$ ssh -A ssh- 첫 번째 SSH에 로그인
user@ssh01:~$ ssh server2- 두 번째 SSH에 로그인
user@server2:~$- 두 번째 SSH 서버에 로그인

다음을 사용하여 로컬 컴퓨터의 첫 번째 SSH 서버에서 bash 스크립트를 실행할 수 있습니다.
user$ ssh -A ssh 'bash -s' < script

그러나 두 번째 SSH 서버에서는 이 작업을 수행하는 방법을 모르겠습니다.
첫 번째 SSH에서 이 작업을 수행하려고 하면 오류가 발생합니다.
user@ssh01:~$ ssh server2 'bash -s' < script
-bash: script: No such file or directory

조언해주세요

답변1

ssh -At ssh 'ssh -At server2 -- bash -s' < script

그러면 두 번째 홉으로 SSH가 연결되고 그곳에서 스크립트가 실행됩니다.

알아채다:

  • 두 번째 ssh 명령을 따옴표로 묶습니다.
  • 저는 -t터미널을 두 개의 SSH 세션에 전달하는 데 사용합니다.

여기에 설명된 방법을 사용하여 SSH를 통해 연결할 수도 있습니다.곧장두 번째 점프로:

https://www.cyberciti.biz/faq/linux-unix-ssh-proxycommand-passing-through-one-host-gateway-server/

요약하면 다음을 추가합니다 ~/.ssh/config.

Host server2
    HostName server2
    User username
    ProxyCommand ssh username@jumphost nc %h %p

관련 정보