Example #1
0
 private function writeSSHFile(User $user, $ssh_dir)
 {
     $ssh_keys = implode("\n", $user->getAuthorizedKeysArray());
     if (file_put_contents("{$ssh_dir}/authorized_keys_new", $ssh_keys) === false) {
         throw new RuntimeException("Unable to write authorized_keys_new file for " . $user->getUserName());
     }
     if (rename("{$ssh_dir}/authorized_keys_new", "{$ssh_dir}/authorized_keys") === false) {
         throw new RuntimeException("Unable to rename authorized_keys_new file for " . $user->getUserName());
     }
     $this->chmod("{$ssh_dir}/authorized_keys", 0600);
     $this->chown("{$ssh_dir}/authorized_keys", $user->getUserName());
     $this->chgrp("{$ssh_dir}/authorized_keys", $user->getUserName());
 }