Копирование файла с помощью pscp через промежуточный сервер шлюза
У меня есть коробка перехода linux между мной и удаленным сервером. Я видел несколько сообщений о том, как это сделать с scp (например,здесь), но я на окно, так что ситуация немного другая. Я хочу скопировать файл с моей локальной машины windows, через установку сервера в качестве шлюза между ними. Я должен быть в состоянии сделать несколько прыжков через промежуточный сервер. Что-то вроде этого:
A - > B - > C
Я не хочу копировать файл в B, затем войдите в B и скопируйте файл снова. Я хотел бы иметь возможность запускать pscp на ряде файлов, чтобы скопировать их.
3 ответов
Я нашел, что лучший способ сделать это-создать туннель на промежуточный сервер (сервер B на рисунке). Затем pscp по этой ссылке. Я сделаю именно то, что сделал.
1) Создайте SSH соединение с serverB в PuTTY
2) для этого соединения создайте туннель, который идет от порта 2222 (вы можете выбрать другой, если хотите) к serverC на порту 22
3) открыть окно командной строки в Windows. Перейдите туда, где PuTTY / pscp установлен на вашей машине (если не на пути уже)
4) Введите следующую команду (подставляя собственные значения в {}):
c:\putty> программе pscp -Р 2222 -ПВ {myPasswordOnRemoteMachine} c:\dev\fileIWantToCopy.txt {myusername}@127.0.0.1: / tmp
5) на удаленном компьютере файл должен находиться в каталоге /tmp
самое простое решение, которое я нашел для этой проблемы, было не использовать pscp вообще. Просто используйте WinSCP, чтобы скопировать файл.
введите свой окончательный адрес сервера (т. е. сервер 'C' в вопросе) на странице сессии и выберите SCP.
нажмите "Дополнительно"...'. Перейдите к соединению>туннель. Введите информацию о сервере переходов (например, Server 'B').
теперь просто войдите в систему либо ваш ключевой файл, либо пароль, и вы будете туннелированы.
моя еще более сложная ситуация: A - > B - > C - > D - >E
I used PuTTY and FileZilla
A my Windows machine,
B and C are gateways (very limited functionality)
D is the first Linux Machine and
E is the target Linux Machine
I use PuTTY to:
ssh into B (w/username password) (IP of B is predefined in PuTTY) then
ssh into C (w/username password) then manually
ssh into D (w/username password) then manually
ssh into E (at least this uses pubic key login so no uid/password!)
Once this is setup I then add tunnel to the IP of the final machine E in PuTTY thus:
L7777 172.123.124.125:22
OK now fire up FileZilla:
File > SiteManager:
Setup new connection to:
Host: 127.0.0.1 Port: 7777
Protocol SFTP
Ask for password...
Connect!