2013-09-03 4 views
1

시나리오는 같은 수 있습니다 :쉘 스크립트에서 ssh로 다른 서버를 사용하여 서버에 연결하는 방법은 무엇입니까?

SERVER_A="servera.com" 
SERVER_A_UNAME="usera" 
SERVER_B="serverb.com" 
SERVER_B_UNAME="userb" 

내가 서버 A에 연결 주먹 것입니다 쉘 스크립트를 작성하려면, 다음 만이 서버 나처럼 연결된다 :

#!/bin/sh 
ssh [email protected]$SERVER_A ...and then 
ssh [email protected]$SERVER_B 

그러나 나는 그것을 할 수 없다. 서버 A에만 연결됩니다. 그것을 어떻게 성취 할 수 있습니까?

+0

왜 다른 서버를 통해 원격 서버에 액세스해야합니까? – konsolebox

+0

서버 B에서 무엇을하고 싶습니까? 대화식 쉘 세션을 원 하시거나 비 대화식으로 실행하기위한 특정 명령이 있습니까? –

+0

예 ... 서버 B에서 대화 형 셸 세션을 만들고 싶습니다. – Workonphp

답변

0

당신이 자동으로 간접 커넥트을 수행 할 수 있습니다 ssh를 ProxyCommands을 살펴 있어야합니다. 기본적으로 당신은 targethost 직접 도달 할 수없는 경우 .ssh/config

Host gateway1 
    # nichts 

Host gateway2 
    ProxyCommand ssh -q gateway1 nc -q0 gateway2 22 

Host targethost 
    ProxyCommand ssh -q gateway2 nc -q0 targethost 22 

하고 성공적도 ssh targethost을 실행에 다음 넣습니다. 당신은 이것에 대해 더 많이 읽을 수 있습니다. 여기 http://sshmenu.sourceforge.net/articles/transparent-mulithop.html

관련 문제