2013-04-13 45 views
17

Czy to możliwe, aby wykonać następujące czynności poprzez tunel SSH ...Jak mogę nawiązać dwukierunkową tunelu SSH

  1. Host-1 nawiązuje połączenie SSH do zdalnego serwera
  2. pragnę zalogować się Zdalny serwer i wykonywanie poleceń przez SSH z powrotem na Host-1

Host-1 to urządzenie, do którego nie będę mieć dostępu bezpośrednio. Host-1 jest skonfigurowany do automatycznego nawiązywania połączenia SSH ze zdalnym serwerem za pośrednictwem crona. W dowolnym momencie, gdy host-1 ustanowił połączenie SSH z serwerem zdalnym, chcę zalogować się do serwera zdalnego, aby wykonać konserwację hosta-1 przez SSH.

Szukam przykładu, jak to działałoby, gdyby było możliwe.

+0

nie mam przykład jak to będzie działać lub być praktyczne, ale to by być możliwe do zrobienia przez proste zmienianie portów na drugim połączeniu ssh, aby nie przeszkadzać sobie nawzajem. – brendosthoughts

Odpowiedz

25

Jak to:

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

Opcjonalny N mówi „nie wykonanie polecenia” (przydatne do zapobiegania wypadkom spowodowanym przez pozostawienie zdalnych muszle ustanawiające wokół.)

Teraz od zdalnego, ty można SSH do host1 tak: (. zdalnego portu 8822 do host1 przodu, ale tylko na interfejsie loopback)

remote$ ssh -p 8822 localhost 

dla dodatkowego kredytu, można eksport przekazywanie do całego świata, pozwalając każdemu dostać do host1 trafiając portu pilota 8822. (Uwaga dodatkowy początkowej jelita grubego)

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

Dokładnie to, czego potrzebowałem! Mogę sprawdzić, czy połączenie zostało ustanowione za pomocą 'ssh -p -v 8822 localhost', więc oznaczyłem twoją odpowiedź jako zaakceptowaną. Nie sądzę, że masz pojęcie, co powoduje mój następny problem? debug1: Łączenie z localhost [127.0.0.1] port 8822. debug1: Nawiązano połączenie. debug1: plik tożsamości /home/ubuntu/.ssh/id_rsa typ -1 debug1: plik tożsamości /home/ubuntu/.ssh/id_rsa-cert typ -1 ssh_exchange_identification: Połączenie zamknięte przez zdalny host – Barry

+1

Rozgryzłem rozwiązanie do ** ssh_exchange_id: błąd połączenia zamknięty przez zdalny host **. Wykonaj zarówno 'chmod 700 ~/.ssh' oraz' chmod 600 ~/.ssh/authorized_keys', aby poprawnie ustawić uprawnienia. – Barry