У меня есть два сервера, A и B, используя два разных ключа. Я работаю на сервере A, и мне нужно перенести файлы на сервер B. Но у меня возникли проблемы с передачей файлов из-за отказа в соединении с сервером, когда я попробовал следующий ssh-туннель;

С сервера А:

ssh -L 1234:server_B:22 -p 45678 user_in_A@server_A

затем там, кажется, пауза, и через некоторое время соединение истекает.

если я обычно использую scp со своим ключом, как показано ниже, то мне удается передать мои файлы, поэтому я комбинирую коды, которые я использую в scp и ssh.

ssh -i key -L 1234:server_B:22 -p 45678 user_in_A@server_A

но это не сработало.

До того, как я это сделал, я гуглил либо есть способ сделать это. Но большинство ответов и объяснений, кажется, ведут к ssh -L ... без ключа, так что я здесь пропустил? Может быть, концепция, которую я не понял, или я далеко от моей цели?

1 ответ1

1

Если сервер A может установить TCP-соединение с портом 22 сервера B, и вы вводите эти команды на сервере A, то туннель не нужен.

ssh -L 1234:server_B:22 -p 45678 user_in_A@server_A

Если вы запускаете команду thes на сервере A, это означает:

  • вы ожидаете, что на сервере А будет sshd в порту 45678
  • вы устанавливаете SSH-соединение с сервера A на user_in_A @ server_A
  • вы также настраиваете туннель от порта 1234 сервера A к порту 22 сервера B, то есть sshd сервера A будет настраивать прокси-сервер TCP в порту 1234 на сервере A и перенаправлять соединения к нему на порт 22 сервер Б.

Поскольку SSH-соединение происходит от сервера A к серверу A, зашифрованная часть туннеля будет полностью находиться внутри сервера A, и поэтому практически бесполезна. Если туннель работает, это означает, что вы можете просто использовать scp для передачи файлов без создания туннеля:

scp -i key_for_user_in_B /some/where/local/files user_in_B@server_B:

или же

scp -i key_for_user_in_B user_in_B@server_B:/some/remote/path /some/local/path/

Первый "вытолкнет" файлы из локального (A) в B, второй "вытянет" файлы из B в локальный (A).

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