두 번째 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