Unix アカウントが SSH を使用しないようにする [重複]

Unix アカウントが SSH を使用しないようにする [重複]

重複の可能性:
oracleなどの一般ユーザーの直接ログインを無効にしますが、Linuxではscpとsftpを許可しますか?

UNIX アカウントが SSH 経由で接続されないようにしたいのですが、SCP/SFTP では引き続き使用できる必要があります。

それは可能ですか?

その理由は、Unixサーバーがアプリケーションに共通アカウントを使用し、人々が個人アカウントの代わりにその共通アカウントを使用してサーバーにログインするためです。監査の理由から、個人アカウントを使用してSSH経由でボックスに接続したいと思います。

答え1

それは非常に可能であり、これを行う方法はさまざまです。パッチワークソリューションもあり、エレガントなソリューションもあります。それはすべてあなたがしたいことの詳細とどれだけの時間を投資したいかによって異なります。

scp/sftp に制限するリモート専用ユーザーがいる場合は、次の点を確認することをお勧めします。スポリそして操作方法の指示セット(Debian 仮定).

また試すことができますRSSH、これは同じことを行う別のシェルの代替品です。

また、これらの制限付きユーザーのグループを作成し(もちろん)、そのグループにユーザーを追加する必要があります。次に、ファイルに次の内容を追加しますsshd_config(通常はまたは/etc/sshにあります/etc)。

Match Group sftp-only
        ForceCommand internal-sftp
        #ChrootDirectory /somewhere/%u # Optional chroot jail
        #AllowTcpForwarding no         # Disable TCP forwarding
        #X11Forwarding no              # Disable X11 forwarding
        #Umask 700                     # Set the umask

これにより、そのユーザーへのTCP転送などの操作が無効/強制されます。当然#必要なものを削除する必要があります。sshd_config(5)詳しくはマンページをご覧ください。

最も簡単な方法は、ユーザーのシェルを(それぞれDebianで)falseに変更することです。少し複雑な接続部分は、ユーザーまたはグループをチェックインしてから、「ログインが許可されていません」というメッセージでログアウトすることです。賭けをヘッジしたい場合(はい)これを行うことができますnologin/bin/nologin/usr/sbin/nologin/etc/profileしかも。覚えておいてください。それだけでは十分ではありません。

お持ちの場合カタツムリの本第8章(サンプル無料)いくつかのレシピもあります。

答え2

はい、可能です。しかし、簡単ではありません。ユーザーのデフォルトシェルとして使用される場合は、sftp、scp、rsync、cvs、およびrdistのみを許可するrsshというプログラムがあります。もちろん、設定ファイルを編集してさらに制限することもできます。

http://www.pizzashack.org/rssh/

答え3

no-ptyこのユーザーを試しましたか$HOME/.ssh/authorized_keys

man sshd(8), AUTHORIZED_KEYS FILE FORMAT:
     no-pty  Prevents tty allocation (a request to allocate a pty will fail).

関連情報