Ya existen generadores de passwords mucho mejores, pero en fin necesitaba tener uno a mano que tuviera una peculiaridad muy simple: no crear passwords con caracteres problematicos: los ceros, las eles las is, etc: 0,O,i,l,I,|,1,...

Por si le sirve a alguien...

/**
* genpas.c
* Password generator supercutre, sobre el que estampo mi rúbrica
* Pello Xabier Altadill Izura
* Tiene como peculiaridad el hecho de que
* NO usa caracteres ambiguos como 1l0O para evitar confusiones
*/
#include <stdio.h>



#define TOTAL 58

int main (int argc, char *argv[])
{
char caracteres[TOTAL] = "abcdefghjkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789.,-_";
int i,j;
int cuantos = 1;
int longitud = 8;


if (argc == 2)
{
	cuantos = atoi(argv[1]);
}

if (argc == 3)
{
	cuantos = atoi(argv[1]);
	longitud = atoi(argv[2]);
}

printf("GeNPaS %d %d
",cuantos,longitud);
		srand(time(0));

for (j=0;j<cuantos;j++)
{
	for (i=0;i<longitud;i++)
	{
		printf("%c",caracteres[rand()%TOTAL]);
	}
	printf("
");
}
return 1;
}

Una prueba: generamos 4 contraseñas de longitud 8.

linux:~$ ./genpas 4 8
GeNPaS 4 8
UFtyjr-a
DSVtPuF3
TQtddMB6
xqmy.UZQ
linux:~$ ./genpas 4 8