We have an application-specific 'shell' that is completely unrelated to Bourne/C-shell world, yet we would like sftp to work. What we've found is that sshd (in session.c) EXPECTS that ANY shell be able to execute "anyshell -c /path/to/sftp" and have it end up execing sftp. Ours won't, nor for that matter, does rbash, since sftp has slashes in the path. This seems like a coding error to me, why should session.c not do the old-school canonical Unix-ey thing of trying to exec(command) first, before going on to try exec(shell, "-c", command), if its ultimate purpose was to execute command? Is there a reason, or is this just a long-standing 'bug'? What purpose does first trotting through a user's Bourne-y shell serve? -- Jim