Недавно я установил домашнее / рабочее VPN-соединение через клиент openconnect (я не знаю, имеет ли это значение), и я могу войти в систему на разных компьютерах шлюза на работе, но я не могу выполнить scp или rsync к чему-либо это за этими воротами.
Итак, я могу сделать ssh gateway
а затем, после того как я на сервере, я могу выполнить ssh work_machine
. Итак, стандартный, интерактивный ssh работает.
Затем я попытался выполнить scp и rsync для work_machine . Чтобы добиться этого, я сделал запись хоста перехода в .ssh/config:
Host work_machine
Hostname work_machine_hostname
ProxyJump gateway
User user
Однако при попытке сделать scp /local/path/file work_machine:/remote/path
просто зависает. Это также происходит с rsync.
Кто-нибудь знает, что происходит?
ОБНОВИТЬ
Я тоже пробовал с туннелированием. Я сделал туннель к шлюзу, сохраняя конфигурацию хоста перехода для work_machine . Опять же, я могу ssh в work_machine, но я не могу scp или rsync к нему.
Я думаю, что я возвращаюсь к старому доброму туннелированию, пока остальные коммунальные услуги не нагонят. Это один дополнительный скрипт для настройки портов на локальной машине, но он надежный.
Кстати, клиент ssh - 7.3p1 на Ubuntu 16.10.
ОБНОВЛЕНИЕ 2
Полностью убрал прыжок хозяев и вернулся к туннелированию.
Так,
ssh -f -N -L 12345:gateway1:22
ssh -f -N -L 12346:gateway2:22 gateway1
Host tgateway2
Hostname localhost
Port 12346
User user
Теперь последний туннель,
ssh -f -N -L 12347:work_machine tgateway2
а также
Host twork_machine
Hostname localhost
Port 12347
User user
Эта настройка позволяла мне получить прямой доступ к twork_machine, даже если он был скрыт за двумя шлюзовыми машинами. scp и rsync тоже работали. Теперь работает только интерактивный ssh, как в ssh twork_machine
, но без scp и rsync. Команда scp просто зависает на шаге scp -v -t
(из подробного вывода scp somefile twork_machine: