web-dev-qa-db-ja.com

sshd_config chroot sftpユーザーにキーベースの認証を許可することは可能ですか?

私はUbuntu12.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の設定を使用して、キーベースの認証でsftpアクセス用にchrootを構成したいと思います。

私はここのチュートリアルに従いました: http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/

そのチュートリアルは、sftpがパスワード認証で機能するようにするのに役立ちました。/etc/ssh/sshd_configファイルを変更し、キーをコピーして、キーベースの認証を機能させようとしましたが、これまでのところ、うまくいきません。

/ 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であり、テストユーザーがそれを所有していることを確認しました。

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

テストユーザーの/ etc/passwdのエントリは次のとおりです。

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

キーをchrootの外に置きます(chrootの前に使用されます)。たとえば、キーを/etc/ssh-pool/user.pubに配置し、構成を変更します。

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

6
RJS