2

Я подключаюсь к server2 следующим образом:

home$ ssh server1
server1$ ssh server2
server2$

Мне также иногда нужно использовать scp таким образом, что требует дополнительного времени:

home$ ssh server1
server1$ scp server2:file .
server1$ exit
home$ scp server1:file .

Есть ли способ сделать это в одной команде из дома? Я использую аутентификацию с открытым ключом, но было бы неплохо, если бы она работала и с паролями.

4 ответа4

1

Я предлагаю использовать MobaXterm: вам просто нужно

  • загрузите его отсюда: http://mobaxterm.mobatek.net/download-home-edition.html
  • Нажмите на "Новый сеанс" и выберите "SSH"
  • Укажите имя вашего компьютера "server2" или IP-адрес в поле "Имя удаленного хоста"
  • Укажите имя вашего компьютера "server1" или IP-адрес в поле «SSH bouncing (connect by gateway ssh server)»

Это запустит новую команду SSH прямо на ваш компьютер "server2". В левой части окна у вас также будет доступ к графическому инструменту передачи файлов SFTP, который также будет напрямую подключен к "server2".

1

Вы можете использовать SSH туннелирование следующим образом:

ssh -f server1 -L 8888:server2:22 -N

Это открывает сокет на вашем локальном компьютере, на порту 8888 (при условии, что никакой другой порт не использует этот порт), который туннелирует соединение с сервером 2 (при условии, что SSH работает там через порт 22) через сервер 1. Флаги -N и -f сообщают SSH о переходе в фоновый режим (вам придется убить процесс, если вы хотите остановить туннель).

Теперь вы можете scp файлы с server2, просто выполнив

scp -P 8888 localhost:file
0

Используйте SOCKS5 с динамическим туннелем

Создайте динамический туннель SSH к первой машине. Затем используйте первое соединение в качестве прокси-сервера SOCKS5, чтобы добраться до второго хоста в удаленной сети.

Это легко настроить с помощью замазки. Вы можете использовать прокси столько раз, сколько захотите. Некоторые программы поддерживают SOCKS5 напрямую. Как замазка и SSH.

В Linux прокси-цепочки могут использоваться для прокси-приложений, которые изначально не поддерживают SOCKS5. Под Windows мне нравится Proxycap. Хорошо работает с RDP.

Чтобы установить это с помощью Putty:

На первой странице настроек хоста под туннелями:

  • создать динамический туннель
  • Установите порт на 9050.
  • Оставьте часть назначения пустой, так как она динамическая.
  • Сохраните ваши настройки. (Сделано со страницы сеанса.)

Затем в конфигурации для второго хоста под прокси:

  • Выберите SOCK55.
  • Измените имя прокси-хоста на 127.0.0.1
  • Установите порт на 9050
  • Затем настройте оставшуюся часть сеанса как обычно
  • Сохраните ваши настройки

Для подключения ко второму хосту. Сначала вам нужно подключиться и войти на первый хост. Тогда вы сможете подключиться ко второму хосту через прокси-соединение ssh,

Вы также можете сделать это из командной строки с помощью записи ssh_config:http://www.undeadly.org/cgi?action=article&sid=20070925181947

0

home$ server1 "ssh server2"

но когда в нем задействовано больше серверов, экранирование командной строки будет болезненным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .