OpenSSH имеет экспериментальную поддержку x509 сертификатов здесь:
http://roumenpetrov.info/openssh
Вы могли выпустить единственный x509 сертификат на пользователя и использовать их для обоих.
вместо того, чтобы поместить пользователя pubkey в их authorized_keys, можно указать позволенный DNS пользовательских сертификатов; и необходимо настроить веб-сервер/веб-приложение так, чтобы DN был переведен в имя пользователя.
Существует два возможных способа достигнуть этого.
Первое должно создать chroot среду для того пользователя. Чтобы сделать это, требуется, что Вы создаете новый корень со всеми необходимыми двоичными файлами, освобождает и такой для того пользователя для работы. Это вполне сложно и особенно если Вы несколько плохо знакомы с использованием *, отклоняют.
Если Вы только требуете, чтобы у пользователя был доступ к файлам, которые могут быть сделаны через SFTP, если Вы используете версию OpenSSH выше 4.9 без каких-либо дополнительных дополнений или модификаций. Я записал сообщение в блоге на этом предмете здесь: http://blog.frands.net/sftp-only-chroot-users-with-openssh-in-debian-166/
Для добавления пользователя просто используют следующую команду
adduser <username>
Что касается того, как ограничить их их корневым каталогом, надо надеяться, ответы на этот вопрос помогут
Лучший метод для привязки пользователя с его корневым каталогом должен использовать "rbash", который обозначает "ограниченный" удар. Используя это, не только у пользователя не будет полномочий к другим каталогам, но его дому. Он не сможет изменить каталог на в другом месте (CD/, корень будет отклонен, например),
Чтобы сделать это, откройте/etc/passwd с корневым доступом с помощью любого редактора (vi, энергия или нано) после того, как пользователь и его корневой каталог будут созданы. Найдите строку, которая содержит пользовательскую запись, и просто замените/bin/bash/bin/rbash