Копирование файла с помощью SSH по туннелю с передачей сертификата

Это - iperf2 кодовая база, Вы могли бы хотеть попробовать iperf3 кодовую базу.

Как другая альтернатива попытке скомпилировать это самостоятельно, существует iperf-cygwin проект, который является проектом скомпилировать Iperf 2.x на использовании Windows Cygwin.

3
10.11.2014, 13:53
3 ответа

Вместо этого используйте более низкоуровневую форму копирования файлов с помощью catting их локально, и объедините это в команду cat > filename на priv-server:

$ cat file1.txt | ssh -A user@pub-server 'ssh user@priv-server "cat > file1.txt"'

или с помощью сжатия:

$ gzip -c file1.txt | ssh -A user@pub-server 'ssh user@priv-server "gunzip -c > file1.txt"'

Outtake from man ssh:

-A Включает переадресацию соединения с агентом аутентификации. Это также может быть указано для каждого хоста в конфигурационном файле.

-t Force pseudo-tty allocation. Это может быть использовано для выполнения произвольных экранных программ на удаленной машине, что может быть очень полезно, например, при реализации служб меню. Многочисленные опции -t принудительное выделение tty, даже если у ssh нет локального tty.


Изначально я не знал ответа, но после хорошего сна и написания этого вопроса, я увидел проблему с командой, которую я пытался сначала, исправил ее, и она сработала. Но так как это кажется полезным, я решил поделиться ответом.

2
27.01.2020, 21:19

Это было бы просто, если бы вы попробовали нативный sshfs , который был недавно добавлен.

Установите sudo apt-get install sshfs

sshfs -ttA user@pub-server ssh user@priv-server

Это сделает волшебство.

Для получения дополнительной информации смотрите здесь Linux Journal

1
27.01.2020, 21:19

Вместо того, чтобы задаться вопросом, как справиться со сложной цепочкой передач SSH, разделите проблемы.

  1. Настраивают вашу систему, чтобы иметь прозрачный доступ к каждому хосту. Это сделано раз и навсегда в вашем файл ~/.ssh/config .

    Для обучения SSH к используют машину в качестве прокси к другой машине , объявляют ProxyCommand.

     priv-сервер Хоста
    Пользовательский пользователь
    ProxyCommand ssh-W %h: % p-t user@pub-server
    

    Также включают соединение, совместно использующее . Это позволяет нескольким клиентским экземплярам использовать тот же канал, который экономит на времени установления соединения. Наверху вашего .ssh/config (прежде чем любой Хост строка), добавьте

     автоматический ControlMaster
    ControlPath ~/.ssh/control: % h: % p: % r
    
  2. Если вы можете, настроить ключевую аутентификацию и передачу агента, так, чтобы аутентификация была полностью прозрачна. Если вы не можете, таким образом, вам нужна интерактивная аутентификация на некоторых хостах, только необходимо пройти проверку подлинности однажды за сессию или после отказа сети. Открыть основное соединение.

     ssh-Nf priv-сервер
    
  3. Звонить ssh (или scp, sftp, sshfs, rsync, и т.д.) обычно.

1
27.01.2020, 21:19

Теги

Похожие вопросы