На веб-сайте OpenSSH есть страница, посвященная устаревшим проблемам как этот. Он предлагает следующий подход, на клиенте :
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 123.123.123.123
или более постоянно, добавляя
Host 123.123.123.123
KexAlgorithms +diffie-hellman-group1-sha1
в ~ / .ssh / config
.
Это активирует старые алгоритмы на клиенте , позволяя ему подключаться к серверу.
/ dev / zero
совсем не медленный, возможно, все, что вам нужно, это dd bs = 1M
. Должен делать несколько гигабайт в секунду, поэтому жесткий диск / твердотельный накопитель является узким местом.
# dd bs=1M status=progress if=/dev/zero of=/dev/null
234309550080 bytes (234 GB, 218 GiB) copied, 11 s, 21.3 GB/s
Или просто используйте shred
.
# shred -v -n 1 /dev/eraseme
Это должно происходить с (псевдо) случайными данными на полной скорости жесткого диска. Если он должен быть равен нулю, тогда -n 0 -z
, но с shred
он не будет быстрее случайных данных.
Проблема здесь для вас в том, что размер блока по умолчанию для dd
составляет 512 байт, так что это два системных вызова и два запроса на ввод-вывод на КБ. У вас их два миллиона на гигабайт; неудивительно, что он медленный.
Не используйте dd
. Используйте cat
(это намного быстрее во многих ситуациях и редко, если вообще когда-либо, медленнее):
cat /dev/zero >/dev/sdX
Если вам действительно необходимо использовать dd
, увеличьте размер блока до разумного:
dd if=/dev/zero bs=32M of=/dev/sdX
Если вы пытаетесь стереть диск с псевдослучайными данными, рассмотрите вариант DBAN с одним проходом. (Не заморачивайтесь с многопроходностью; либо достаточно одного прохода, либо вам понадобится молоток.)