Я использую Ccygwin на WinXP (с оболочкой bash). Я хочу SCP файл с моего локального хоста на удаленную машину - host2. Тем не менее, я могу только SSH к промежуточной машине - host1, а затем оттуда SSH к host2. (Обратите внимание, я не могу получить доступ к host2 с моего локального хоста).
Я думал, что туннелирование было моим ответом, но когда я пытаюсь настроить туннель
ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'
Но после ввода этой команды и нажатия Enter, система просто зависает. Как правильно настроить туннель, а затем SCP файл после?
Благодарность, -
ssh
scp
ssh-tunnel
Дейв
источник
источник
Ответы:
На это уже лучше всего ответили здесь .
Подводя итог: положить следующее в
~/.ssh/config
а затем просто
scp
нацелить на .machine в любое время, когда вы захотите прокси через proxy.machine!Также работает
ssh
, поэтому сэкономит ваше время ssh-на целевой машине.Кредит должен перейти к пользователю 24925, который ответил на это в 2011 году.
источник
Чтобы настроить SSH-туннель, используйте следующий формат:
Эта команда подключается к ,
host1
какuser
и тоннелям порта 9999 на компьютере , выдающий команду к порту 22 наhost2
.-N
не является обязательным, или вы можете использовать что-то вродеtop
или,watch
чтобы сохранить сеанс в случае необходимости.Затем просто
scp
для host2 на localhost: 9999.источник
scp
синтаксис команды неверен. Попробуйте это,scp -P 9999 hello.txt user@localhost:/path/to/destination/file
гдеuser
пользователь, наhost2
котором вы хотите войти как.Начиная с OpenSSH 7.3 , вы можете использовать
-J
или-o ProxyJump
для указания хоста бастион / прыжок. Поэтому в SSHnode2
черезnode1
:У SCP нет
-J
аргумента, но он позволяет-o
, так что это работает:источник
Сначала вы можете скопировать файл на host1, например так:
Затем сделайте это, чтобы получить его на host2:
-t
Вариантssh
заставляет его выделять псевдо-терминал, который может сделать его проще дляscp
на host1 запрашивать у вас парольную фразу / пароль. Если у вас запущен и настроен ssh-агент везде, вам не нужно запрашивать пароль / пароль.Я предлагаю эту альтернативу, потому что если вы используете туннель, вам все равно понадобятся две команды: одна для настройки туннеля и одна для копирования файла через него. Это кажется проще.
источник