2013-04-13 5 views
17

  1. 호스트-1은
  2. 내가에 로그인하고자하는 원격 서버에 SSH 연결을 설정 ... SSH를 터널을 통해 다음을 수행 할 수 있나요 원격 서버 및 SSH를 통한 명령 실행 - 호스트 1에서

호스트 -1은 내가 직접 액세스 할 수없는 장치입니다. Host-1은 cron을 통해 원격 서버에 대한 SSH 연결을 자동으로 설정하도록 설정됩니다. Host-1이 원격 서버에 SSH 연결을 설정하는 동안 언제든지 SSH를 통해 Host-1에서 유지 관리를 수행하기 위해 원격 서버에 로그인하고자합니다.

가능한 경우 어떻게 작동하는지 예제를 찾고 있습니다. 이처럼

+0

나는이 일을하거나 실용적 일 것입니다 방법의 예를 가지고 있지 않지만 그것은 것 (여분의 초기 대장을 참고) 서로 간섭하지 않기 위해서 두 번째 SSH 연결 포트를 단순하게 바꾸는 것만으로도 가능합니다. – brendosthoughts

답변

25

:

옵션 -N이 (도움이 주위에 누워 원격 쉘을 떠날으로 인한 사고를 미연에 방지 할 수 있습니다.) 원격에서 이제

, 당신을 "명령을 실행하지 않습니다"라고

host1$ ssh -N -R 8822:localhost:22 remote.host.com 

이런 식으로는 host1에 SSH를 할 수 있습니다. (8822 개 전달 host1으로하는 원격 포트,하지만 루프백 인터페이스)

remote$ ssh -p 8822 localhost 

을 추가 신용 들어, 수출을 할 수 사람이 원격의 포트 8822. 쳐서 host1의 얻을 수 있도록 전 세계에 전달이

host1$ ssh -N -R :8822:localhost:22 remote.host.com 
+0

정확히 내가 필요한 것! 나는'ssh -p -v 8822 localhost'를 사용하여 연결이 성립되었는지를 검증 할 수있다. 내 다음 문제의 원인에 대해 생각하지 못했습니까? debug1 : localhost [127.0.0.1] 포트에 연결 중 8822. debug1 : 연결이 설정되었습니다. debug1 : 신원 파일 /home/ubuntu/.ssh/id_rsa 유형 -1 debug1 : 신원 파일 /home/ubuntu/.ssh/id_rsa-cert 유형 -1 ssh_exchange_identification : 연결이 원격 호스트에 의해 닫혔습니다. – Barry

+1

해결책을 찾아 냈습니다. ** ssh_exchange_id : 원격 호스트에 의해 닫힌 연결 ** 오류. 'chmod 700 ~/.ssh'과'chmod 600 ~/.ssh/authorized_keys'를 모두 실행하여 권한을 올바르게 설정하십시오. – Barry