Spent a bit stumbling around trying to get MOTP + FreeRadius + Centos 5 working ... this is how I got it working: This Howto was very helpful (Google translator helps!) http://blog.guiguiabloc.fr/index.php/category/openbsd/ The only modifications required beyond the howto is as follows: 1. Modify otpverify.sh as suggested by Piotr Zazakowny (I just put a 1 in front of all exit codes except the 0 exit code) 2. Further modify otpverify by adding the following 2 lines right after the PATH statement. For some reason the "which" statements wig out on centos 5, so we'll just force the right checksum alias instead: alias checksum=md5sum have_md5="true" 3. Chown -R radiusd:radiusd /var/motp 2. Omit the following line from the /etc/raddb/users file suggested by the howto and make sure all other DEFAULT sections are commented out. "Exec-Program-Wait = "/etc/raddb/otpverify.sh '%{User-Name}' '%{User-Password}' '%{reply:Secret}' '%{reply:Pin}' '%{reply:Offset}'",