Как написать сценарий оболочки для туннелирования через 2 компьютера на третий - PullRequest
0 голосов
/ 07 июля 2011

Я довольно новичок в Unix / Linux и у меня возник вопрос при попытке подключиться к туннелю SSH к компьютеру в моем колледже.

Я пытаюсь получить доступ к компьютеру A, который находится в моей школьной сети.Но к нему нельзя получить доступ, если я уже не проверяю школьную сеть.Я могу подключиться к компьютеру B через ssh, а затем через компьютер ssh. Допустим, компьютер C доступен только через компьютер B, как мне создать сценарий оболочки, который бы сделал это для меня?

Пока я туннелировал на компьютерA через B, но не могу добраться до C. Я попробовал это

    ssh -t user@computerB 'ssh user@computerA' 'ssh user@computerC'
    sh -t user@computerB "ssh user@computerA 'ssh user@computerC'"

Что я делаю не так

1 Ответ

2 голосов
/ 07 июля 2011

Кажется, работает на меня. Очевидно, вы должны использовать -t для принудительного выделения ptty для каждого прыжка:

jcomeau@intrepid:~/rentacoder/peppe/dentalcam$ ssh -t www "ssh -t tek 'ssh -t www'"
Linux unixshell.jcomeau.com 2.6.18.8 #1 SMP Mon Nov 22 15:26:09 EST 2010 i686 GNU/Linux

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
No mail.
Last login: Thu Jul  7 02:03:30 2011 from c-76-103-110-80.hsd1.ca.comcast.net
jcomeau@unixshell:~$ logout
Connection to www closed.
Connection to tek closed.
Connection to www closed.
...