Как просмотреть прогресс с помощью sshpass и scp в linux?

В моем терминале Linux я использую эту команду

sshpass -p "pass" scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop 

для загрузки файла с паролем в нем. Без sshpass я вижу прогресс загрузки, но с ним он просто пуст, пока он не закончится, и я не вижу его.

Есть ли способ увидеть это с помощью sshpass?

One Solution collect form web for “Как просмотреть прогресс с помощью sshpass и scp в linux?”

Я думаю, что то, что вы просите, нелегко, возможно, даже невозможно с базовыми сценариями bash.

Поэтому следующее не отвечает на ваш вопрос, но предоставляет другой подход к вашей проблеме.

Вместо использования sshpass вы можете использовать команду plain scp с аутентификацией публики без пароля. См. [1], если вы не знаете, что это такое.

Если вы собираетесь использовать scp в сценариях для локального использования , это значит, что ИМО – путь:

  • генерировать публикацию без пароля
  • используйте ssh-copy-id для добавления вашего открытого ключа на сервер

Этого достаточно, чтобы иметь возможность запускать вашу команду без каких-либо подсказок:

 scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop 

Для сценариев, которые вы хотите распространять , sshpass с четким паролем, безусловно, не очень хорошая идея, вы должны хотя бы использовать флаг s-ssh-s и предоставить пользователю пароль в качестве переменной среды для лучшей безопасности.

В этом случае подход publickey немного менее удобен, но это все еще возможно. Если вы не можете позволить себе попросить пользователя сценария создать открытый ключ, вы можете создать открытый ключ «на лету», скопировать его на сервер и выполнить scp без каких-либо подсказок:

  #!/bin/bash KEY="$HOME/.ssh/id_rsa_example" if [ ! -e "$KEY" ]; then ssh-keygen -t rsa -N "" -f "$KEY" sshpass -e ssh-copy-id -i "${KEY}.pub" me8@host.ca fi scp -r me8@host.ca:/cmshome/me/file /home/me/Desktop 

Наконец, еще есть возможность использовать rsync чтобы сделать индикатор выполнения:

 $ rsync -P --rsh="sshpass -p $PASSWORD ssh -l me8" host.ca:/cmshome/me/file /home/me/Desktop 

[1] https://help.ubuntu.com/community/SSH/OpenSSH/Keys

  • не удалось использовать scoply для операции scp
  • Исключить символы для SCP-файла
  • Разница в разрешении хоста ssh / scp и достижении сети
  • Помещение двух учетных записей в группу, не предоставляющих доступ к чтению членам группы
  • «Permission denied, try again» при передаче файлов с помощью scp
  • Разрешение отклонено scp'ing большой файл
  • используя SCP для подключения к активному / порту?
  • scp ssh: подключиться к хосту 10.0.0.109 порт 22: нет маршрута для приема потерянного соединения
  • Почему мой счетчик скинов на 8 МБ по сравнению с локальной сетью?
  • Интересное поведение защищенной копии
  • cp: не может stat: нет такого файла или каталога
  • Interesting Posts

    сообщения ядра «потеряли 9599 rtc прерываний»

    Как я могу создать пакет .deb с моей скомпилированной сборкой OpenCV?

    Почему обратная косая черта преобразуется в пространство в выражении эха, если IFS = '\'?

    Ошибка SSHFS, Ошибка – чтение: Сброс соединения с помощью одноранговой сети

    Может ли быть любая переменная, используемая в конфигурационном файле?

    Lubuntu 14.04 – подключение через RDP с экрана входа в систему

    Haskell, C ++, AWK, Bash, Lisp … Кто быстрее?

    Является ли strace подходящим инструментом для выяснения, где программа написала файловую систему?

    Удаление операционных систем с жесткого диска в Linux

    как использовать grub-uboot

    Инструмент скриншотов Linux Mint

    Это имя моего хоста и DNS-домен?

    Как отлаживать проблемы времени MPI

    Python теперь считает, что аргументы являются файлами: Broken emerge, pip, livestreamer и большинство инструментов с использованием Python

    Разница между загрузочными и не загружаемыми разделами

    Linux и Unix - лучшая ОС в мире.