2014-10-18 9 views
2

나는 집 컴퓨터 A와 조화를 사용하여 동기화하려는 작업 컴퓨터 C가 있습니다. 중간에 작업 컴퓨터 B. B는 B와 통신 할 수 있고 B는 C와 직접 통신 할 수 있지만 A와 C는 서로 직접 연결할 수 없습니다. 사실 통신 다이어그램은 A -> B < -> C와 같습니다. 즉 A가 B에 연결할 수 있지만, B는 내가이 설정을 사용하는 방법의 예를 제공하기 위해 A.원격 컴퓨터에 직접 연결할 수없는 경우 동기화하는 방법

에 연결할 수있다, 나는 C

ssh를 A에서 ssh를하려는 경우 나는 현재 다음 작업을 수행 - t -X -C me_B @ B ssh -X me_C @ C

A와 C에서 sync를 실행할 수 있습니까? 아마도 ssh 포트 포워딩을 사용하고 있을까요?

C는 인터넷에 나가는 연결을 필터링하지 않았습니다. B는 C와 인터넷 모두에 대해 필터링되지 않거나 나가는 연결성을 가지고 있습니다. A는 내 집 컴퓨터입니다.


업데이트 다음 명령 줄이 나를 위해 작동

C

scp -oProxyCommand="ssh [email protected] nc -v %h %p" foo/* [email protected]:foo 

A에서 적어도 복사 파일에 작업 조화를 얻기 위해이 아이디어를 사용하는 몇 가지 방법이 있나요 ?

답변

2

예, ssh 포트 전달을 사용할 수 있습니다. 당신이 명령을 실행 한 후

# Create the tunnel 
ssh -L 3000:C:22 [email protected] -N 

, 당신이 사용하는 C로 로그인 할 수 있습니다 : 당신이 (예를 들어) 로컬 포트 ​​3000에 C에서 포트 22에 SSH를 전달하려는 경우에 다음 명령을 사용하여

# Connect using the tunnel 
ssh -p 3000 [email protected] 

참고 :

ssh -p 3000 -l userC localhost 
: 그것은 영업 이익의 네트워크에 연결이 터널은 다음 명령을 사용하여 설정할 수 있습니다 여물 것으로 밝혀졌다 아래의 토론 동안

[email protected] 대신 -l userC을 사용하고 있습니다.

unison directory ssh://[email protected]:3000 directory 
+0

무엇 조화 명령 줄의 모양 :


이제 이런 unison를 사용할 수 있습니까? '유니슨 디렉토리 ssh : // me_B @ localhost directory'와 같은 것? – eleanora

+0

단계별로 테스트 해 보겠습니다. 내가 제공 한 명령을 사용하여 ssh를 A에서 C에 연결할 수 있습니까? – hek2mgl

+0

한 창에서 ssh -L 3000 : C : 22 userB @ B -N을 실행하고 입력 한 B의 암호를 묻습니다. 그런 다음 다른 사용자의 ssh -p 3000 userC @ localhost를 실행하면 첫 번째 창에서'채널 2 : 열기 실패 : 관리 상 금지 됨 : 열기 실패 '라는 메시지가 나타납니다. 두 번째 창은'ssh_exchange_identification : 원격 호스트에 의해 닫힌 연결'을 보여줍니다. – eleanora