5

У меня есть окно перехода между Linux и удаленным сервером. Я видел несколько сообщений о том, как сделать это с помощью scp (например, здесь), но я нахожусь на коробке Windows, поэтому ситуация немного отличается. Я хочу скопировать файл с моего локального компьютера с Windows через настройку сервера в качестве шлюза между ними. Я должен быть в состоянии сделать несколько прыжков через промежуточный сервер. Так что-то вроде этого:

A -> B -> C

Я не хочу копировать файл в B, затем войдите в B и скопируйте файл снова. Я хотел бы иметь возможность запускать pscp на несколько файлов, чтобы скопировать их.

3 ответа3

4

Я обнаружил, что лучший способ сделать это - сначала установить туннель к промежуточному серверу (сервер B на рисунке). Тогда pscp по этой ссылке. Я сделаю шаг точно, что я сделал.

1) Создайте SSH-соединение с сервером B в PuTTY

2) Для этого соединения создайте туннель, который идет от порта 2222 (вы можете выбрать другой, если хотите) к serverC на порту 22

3) Откройте командное окно в Windows. Перейдите туда, где на вашем компьютере установлен PuTTY/pscp (если он уже не находится на пути)

4) Введите следующую команду (подставляя свои собственные значения в {}):

c:\putty> pscp -P 2222 -pw {myPasswordOnRemoteMachine} c:\dev\fileIWantToCopy.txt {myusername} @ 127.0.0.1:/tmp

5) На удаленной машине C файл должен находиться в каталоге /tmp

1

Самым простым решением, которое я нашел для этой проблемы, было вообще не использовать pscp. Просто используйте WinSCP, чтобы скопировать файл.

  1. Введите свой последний адрес сервера (т. Е. Сервер «C» в вопросе) на странице сеанса и выберите SCP.

  2. Нажмите «Дополнительно»». Перейдите в Соединение> Туннель. Введите здесь информацию о вашем сервере прыжков (т.е. сервер 'B').

  3. Теперь просто войдите под своим ключом или паролем, и вы будете подключены.

0

Моя еще более сложная ситуация: 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!

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