No es una cuestión crítica. Sólo tengo curiosidad por saber el motivo.
En mi Macbook Air M1, ssh-keygen puede tardar varios segundos, a veces más de diez segundos o incluso docenas de segundos, en generar un par de claves rsa públicas/privadas. Esto es mucho más lento incluso que mi anticuado dispositivo Android (One Plus 5) con Termux-app.
time ssh-keygen -f /tmp/tempkey -P "" > /dev/null
ssh-keygen -f /tmp/tempkey -P "" > /dev/null 3.47s user 0.02s system 99% cpu 3.493 total
Sin embargo, ejecutar ssh-keygen bajo Rosetta es significativamente mejor y razonable.
rm /tmp/tempkey*
time arch -x86_64 ssh-keygen -f /tmp/tempkey -P "" > /dev/null
arch -x86_64 ssh-keygen -f /tmp/tempkey -P "" > /dev/null 0.82s user 0.30s system 78% cpu 1.420 total
Aquí está la información sobre mi 'ssh-keygen`
md5sum `which ssh-keygen`
e884655150b3fe3ad676c84357a00b95 /usr/bin/ssh-keygen
file `which ssh-keygen`
/usr/bin/ssh-keygen: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e]
/usr/bin/ssh-keygen (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/ssh-keygen (for architecture arm64e): Mach-O 64-bit executable arm64e
He intentado compilar tres binarios de fuente para arm64, x86_64 y versión universal (creada a partir de binarios arm64 y x86_64 con lipo
). Todos ellos funcionan significativamente más rápido que el incorporado.
Entonces, ¿por qué el ssh-keygen armado incorporado funciona tan lento?