scp
работает хорошо во всех случаях, но Raspberry Pi слишком слаб для эффективного копирования файлов в безопасной среде (LAN). Теоретически возможная скорость 6,75 МБ / с по беспроводной сети 54 Мбит / с уменьшается до 1,1 МБ / с.
Есть ли способ копировать файлы удаленно без шифрования?
Это должна быть команда cli без каких-либо зависимостей от дополнительных сервисов (ftp, samba) или, по крайней мере, с минимальной конфигурацией. Я имею в виду стандартный инструмент, который довольно хорошо работает из стандартных стандартных программ / служб (например, scp / ssh).
command-line
ssh
ftp
file-transfer
smb
ManuelSchneid3r
источник
источник
scp
)Ответы:
Возможно, вы ищете
rcp
, он выполняет удаленное выполнение через,rsh
так что вам придется полагаться на это и иметь в виду, что все общение небезопасно.источник
Вы не можете полностью отключить шифрование в ssh / scp, но вы можете заставить его использовать более слабый шифр, который требует гораздо меньше ресурсов процессора. Убедитесь, что сжатие не включено в вашем ssh_config или в командной строке и добавьте
-c arcfour,blowfish-cbc
в вашу командную строку scp, чтобы выбрать более слабые шифры.источник
Host
разделе вашего ssh_config используйтеCiphers arcfour,blowfish-cbc
для зеркального отображения вышеуказанного-c
переключателя. Однако, если ваши процессоры поддерживают набор инструкций AES-NI, я бы попытался переключиться наaes128-gcm@openssh.com
(да, это имя шифра, включая@
материал), который будет использовать невероятно быстрый (с AES-NI) AES128-GCM.Я написал этот быстрый скрипт:
Требуется два аргумента: хост для отправки и файл, который вы отправляете. Это работает только для одного файла. Он использует ssh для запуска
netcat
прослушивания на противоположном конце, а затем используетnetcat
для отправки его на этот порт прослушивания. Я добавилpv
в начало, чтобы дать хороший индикатор выполнения. Заменитьpv
с ,cat
если вы не имеете или хотите. Измените порт 2020 на что угодно. Это требует, чтобы у вас был ssh доступ к удаленной системе.Это совершенно небезопасно, но тогда это то, что вы хотели.
источник
Я думаю, что NFS недооценивают для такого рода задач, когда вам нужно удобство, скорость и не заботиться о безопасности. NFS действительно прост в настройке, особенно на клиенте: см. Это краткое руководство по Ubuntu вместе с более длинной страницей помощи сообщества Ubuntu . С точки зрения клиента вы просто смонтировать каталог сервера , и это выглядит так же , как локальный диск , и вы можете использовать
cp
илиrsync
или любые команды , которые вы хотите.источник
Есть патчи для openssh для HPC (High Performance Computing), которые улучшают пропускную способность ssh за счет увеличения размеров окна передачи и отключения шифрования - если вы не возражаете против перекомпиляции (и, возможно, патчей для прямой портирования), проверьте HPN-SSH . Как заметил в комментарии BowlOfRed, вам нужно будет использовать патчи как на клиенте, так и на клиенте. на сервере.
Вы также можете использовать
rsync
- на одной машине как демон и как простой клиент на другой. Это особенно полезно для синхронизации больших томов по сетевому каналу, который медленнее, чем чтение (и контрольная сумма) файлов, поскольку он способен передавать только те части файлов, которые различаются между клиентом и сервером. Смотритеrsync(1)
иrsyncd.conf(5)
справочные страницы для деталей.источник
Приведенный выше сценарий bash от Ben Collins является хорошим решением, но ему не хватает
-p
флага для порта на стороне сервера. Запуск этого как есть просто даст вам пустой файл или зависший сервер, который никогда ничего не делает.Легче увидеть, что это делает, если вы просто посмотрите на команды.
nc
или netcat, точно так же, как cat, за исключением того, что вывод передается на другую машину через TCP-соединение. Вы просто помещаете вывод nc на сервере в файл назначения. Вы можете настроить Destination таким же образом, а также делатьecho foo | nc dest.ip.address 2020
и делать другие вещи с помощью nc.источник
с момента последнего обновления прошло некоторое время, некоторые шифры изменились, и, по крайней мере, во FreeBSD, blowfish больше не доступен. Самый быстрый шифр, который я нашел в текущих установках ssh - это -c aes128-cbc.
Наслаждаться.
источник
Если вы хотите передать целые файловые структуры, используйте tar.
в приемной системе:
затем в отправляющей системе:
Посмотрите архив файлов на одной системе и распакуйте на другой;)
источник