Ubuntuでは、次の場所にSSHサーバー構成を設定しました/etc/ssh/sshd_config
。
Subsystem sftp internal-sftp
UsePAM yes
ChrootDirectory %h
ForceCommand internal-sftp
GatewayPorts no
AllowTcpForwarding no
KeepAlive yes
IgnoreUserKnownHosts no
Match group sftp
ただし、該当しないユーザーでもsftp
chroot制限が適用されます。たとえば、bobby
(ではなく)SSH経由でログインしようとすると、sftp
次のエラーが発生します。
sshd [17977]:致命的:chrootディレクトリ '/home/bobby'の所有権またはモードが無効です。
私はこれを試しました:
Match group sftp, User !bobby
サービスを再起動しましたが、同じ問題が発生しました。
ベストアンサー1
Match group sftp
グループにサポートしたい行の前になければなりません。このグループsftp
の後にキーワードがないため、そのグループには何も適用されません!または、この場合、キーワードが一致するグループを指定していないため、キーワードはすべての人に適用されます。
から引用man sshd_config
Match Introduces a conditional block. If all of the criteria on the
Match line are satisfied, the keywords on the following lines
override those set in the global section of the config file,
until either another Match line or the end of the file. If a
keyword appears in multiple Match blocks that are satisified,
only the first instance of the keyword is applied.
次のようにしてみてください。
Subsystem sftp internal-sftp
UsePAM yes
GatewayPorts no
AllowTcpForwarding no
KeepAlive yes
IgnoreUserKnownHosts no
Match group sftp
ChrootDirectory %h
ForceCommand internal-sftp