Put this little script into you ~/.bashrc and you can run it from anywhere:
genpasswd() {
local l=$1
[ "$l" == "" ] && l=20
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
}
It takes one parameter which says how long a password you want:
tdd@s10e-tdd:~$ genpasswd 10
EpVrnblbz_
tdd@s10e-tdd:~$
----
Source: http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html