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

Как создать резервную копию удаленного диска с помощью SSH на моем локальном компьютере и сохранить его на локальном диске?


Я пробовал следующее:

ssh hostname@my.ip.address "sudo dd if=/dev/sdX " | \ dd of=/home/username/Documents/filename.image` 

Однако, я получаю следующую ошибку:

нет tty присутствует и не указана запрошенная программа

3 Solutions collect form web for “Как удалить удаленный диск с помощью SSH на локальном компьютере и сохранить на локальный диск”

Если вы намерены выполнить резервное копирование жесткого диска A на удаленном компьютере через SSH на один файл, который находится на жестком диске вашего локального компьютера, вы можете выполнить одно из следующих действий.

Примеры

запустить с удаленного компьютера

 $ dd if=/dev/sda | gzip -1 - | ssh user@local dd of=image.gz 

запускать с локального компьютера

 $ ssh user@remote "dd if=/dev/sda | gzip -1 -" | dd of=image.gz 

Живой пример

 $ ssh skinner "dd if=/dev/sda5 | gzip -1 -" | dd of=image.gz 208782+0 records in 208782+0 records out 106896384 bytes (107 MB) copied, 22.7608 seconds, 4.7 MB/s 116749+1 records in 116749+1 records out 59775805 bytes (60 MB) copied, 23.9154 s, 2.5 MB/s $ ll | grep image.gz -rw-rw-r--. 1 saml saml 59775805 May 31 01:03 image.gz 

Методы мониторинга?

  1. Войдите через ssh в другой терминал и ls -l файл, чтобы посмотреть, что это за размер.
  2. Вы можете использовать pv для контроля за ходом большой операции dd, например, для удаленного примера выше, вы можете сделать:

     $ dd if=/dev/sda | gzip -1 - | pv | ssh user@local dd of=image.gz 
  3. Отправьте сигнал «SIGUSR1» на dd и он будет печатать статистику. Что-то вроде:

     $ pkill -USR1 dd 

Рекомендации

Методы, упомянутые выше для мониторинга, были первоначально оставлены с помощью комментариев от @Ryan & @bladt и мной. Я переместил их в ответ, чтобы сделать их более очевидными.

Полученная вами ошибка связана с использованием sudo удаленно (вас попросят ввести пароль, но у вас нет tty, чтобы ввести его). С другой стороны, как обычный пользователь, вы обычно не можете использовать просто dd как предложено в другом ответе (у вас нет необходимых разрешений для устройства). Вы можете решить эту проблему, предоставив себе права на выполнение dd как sudo без пароля. Вы можете сделать это, отредактировав файл sudoers (на пульте дистанционного управления!):

sudo visudo

добавьте следующую строку:

userfoo ALL=(ALL) NOPASSWD: /bin/dd if=/dev/sdX

Теперь вы можете опубликовать:

ssh userfoo@host "sudo /bin/dd if=/dev/sdX" | dd of=test.dd

и он должен работать. Вы можете сделать более общую запись в sudoers, позволяя вам запускать dd с любым параметром, но разумнее оставить эти бесплатные разрешения на минимальном уровне, который вам нужен.

Я только что использовал модифицированную версию в виртуальном ящике Linux Mint для клонирования физического жесткого диска на стареющем сервере RedHat.

Я запустил следующее в качестве администратора в виртуальном поле:

 ssh root@192.168.1.5 "dd if=/dev/cciss/c0d0" | dd of=/dev/sdb 
  • 192.168.1.5 – это физическое поле Red Hat Enterprise Linux 2.1.
  • / dev / sdb – это новый виртуальный диск, который при завершении клонирования станет основой виртуальной версии старого умирающего физического окна.
  • ssh-add -D не удаляет сохраненные ключи из ssh-agent
  • Заблокирован сервер с SSH - все, что я могу сделать?
  • пароль паролей kinit над ssh
  • SSH в Ubuntu VM удаленно
  • Запустить X на сервере через SSH
  • Отслеживание пути оболочки в Emacs
  • Почему запуск firefox (из командной строки) в VM запускает firefox на главной машине и наоборот?
  • ssh Соединение сброшено 192.168.xx
  • Как разрешить только машины с указанным ip для входа через ssh?
  • Вызов Bash продолжает исчезать
  • перенаправить вывод команды в / dev / null
  • Interesting Posts

    Настройка языкового стандарта для пользователя

    Как оценивать команды на данном узле кластера с помощью plink?

    Почему скорость загрузки в Linux намного ниже, чем в других ОС?

    shell: сохранить завершающие символы новой строки ('\ n') в подстановке команд

    Неудовлетворительные зависимости, использующие apt-get на Ubuntu

    Unison заменяет новые символические ссылки на старые файлы с помощью опции -force newer

    Crontab для перезагрузки ночью и запуска сценария оболочки

    Использование Rsync для SSH и поиска файлов

    Разрешение Отказано при загрузке Drupal

    Как установить / проанализировать зависимости сборки от debian / control?

    Где точки монтирования, определенные в CentOS?

    Как мой раздел (ext4) знает свой размер используемого / свободного пространства?

    Добавить одноразовую запланированную задачу через сценарий оболочки?

    Как проверить, работает ли Linux на ThinkPad?

    Что делает nginx -s повторно открыть?

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