読者です 読者をやめる 読者になる 読者になる

GeekFactory

int128.hatenablog.com

sshを制限してsftpだけ許可する

Linux

ファイル転送用のアカウントでは、sshを制限してsftpのみ許可したい場合があります。ログインシェルを/sbin/nologinに変更すると、sshだけでなくsftpも制限されてしまいます。そのような場合はsshd_configのForceCommandを使います。

例えば、

# /etc/ssh/sshd_config
#...

# override default of no subsystems
Subsystem       sftp    /usr/lib64/misc/sftp-server

Match User hoge
       ForceCommand /usr/lib64/misc/sftp-server

と書くと、ユーザhogeはsftpしか使えなくなります。sshクライアントから接続しようとしても、セッションがsftp-serverに流れるのでbashは使えません。