While working on an ssh based cli, using ssh_cli, I discovered an undocumented feature. start the listener with ssh_cli:listen(UserFun,Port,[{pwdfun,F}]) where F(User,Passwd) -> true | {false,Reason} And F will be called to vaildate the user/password. /Anders