是否有可能允许sshd_cofnig chroot sftp用户的基于密钥的身份validation?

我正在运行Ubuntu 12.04.1 LTS(GNU / Linux 3.2.0-30-generic x86_64)服务器,OpenSSH_5.9p1 Debian-5ubuntu1,OpenSSL 1.0.1 2012年3月14日。

我想使用/ etc / ssh / sshd_config中的设置,使用基于密钥的身份validation来configurationchroot以进行sftp访问。

我在这里按照教程: http : //www.thegeekstuff.com/2012/03/chroot-sftp-setup/

该教程帮助我得到了sftp与密码authentication工作。 我修改了/ etc / ssh / sshd_config文件并复制了密钥以尝试获得基于密钥的身份validation,但是到目前为止,没有运气。

我的/ etc / ssh / sshd_config文件的相关部分:

# Change to no to disable tunnelled clear text passwords PasswordAuthentication yes # Of course, I'd like to change this to no once key-based auth is working # Commenting for chroot use #Subsystem sftp /usr/lib/openssh/sftp-server Subsystem sftp internal-sftp Match Group sftpusers ChrootDirectory /sftp/%u ForceCommand internal-sftp PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys 

我把密钥放在/sftp/testuser/incoming/.ssh/authorized_keys中,并将它放在不同的目录中进行了一些尝试。 我已经确保在authorized_keys文件上的权限是600,testuser拥有它:

 -rw------- 1 testuser sftpusers 616 Sep 21 09:20 authorized_keys 

以下是testuser的/ etc / passwd中的条目:

 testuser:x:1008:1010::/incoming:/usr/lib/openssh/sftp-server 

把你的密钥放在chroot之外(在chroot之前使用它们)。 例如把你的密钥放在/etc/ssh-pool/user.pub中,然后改变你的configuration:

AuthorizedKeysFile /etc/ssh-pool/%u.pub