We use an unprivileged child process to contain and restrict the effects of programming errors. A bug in the unprivileged child process does not result in a system compromise. In other words, the goal is complete privilege separation within in OpenSSH. Privilege separation uses two processes: The privileged parent process that monitors the progress of the unprivileged child process. The child proc