Bem, se você embrulhar tudo isso em time
:
time sh -c "dd if=/dev/zero bs=4096 count=1048576 | ssh user@ip 'cat > /dev/null'"
que lhe dará o tempo necessário para a transferência ser concluída. Divida os bytes transferidos pelo tempo e essa é a sua taxa de transferência.
Para um medidor de progresso, você pode usar pv , que elimina a necessidade de usar o tempo (1):
dd if=/dev/zero bs=1024 count=10000 | pv --size 10240000 | ssh user@ip 'cat > /dev/null'
que lhe dará um bom medidor de progresso, especialmente se você carregar o argumento --size
com o tamanho total da transferência.