ユーザーがSSHを介してのみ端末シェルにログインできるようにして、各接続に.profileファイルに作成されたスクリプトのみを実行させる方法はありますか?
私たちは、.profileで書かれたスクリプトを実行するTelnetのようなターミナルセッションだけでなく、ユーザーがサーバーにアクセスするのを防ぎたいと思います。したがって、scp / sftpを直接実行するか、任意のコマンド(たとえばssh user@server "cat file"
。
exec
この.profileスクリプトは、(現在のpidで)コマンドで開始されたncursesベースのアプリケーションを実行するために現在のシェルを準備します。
ただし、特定のユーザーにのみ適用されます。
答え1
ForceCommand
の設定オプションがsshd_config
あなたが探しているものです。.profile
動作に依存するのではなく、そこでアプリケーションを設定することをお勧めします。
答え2
command="whatever"
すべてのユーザーの設定を確認することをお勧めします。/etc/ssh/sshd_config
まだテストしていませんが、使用するとcommand="/bin/bash .profile"
必要なものが得られます。