特定のユーザーがSSHサーバー上のファイルに直接アクセスするのを防ぎます(scpまたはftpと同様の動作)。

特定のユーザーがSSHサーバー上のファイルに直接アクセスするのを防ぎます(scpまたはftpと同様の動作)。

ユーザーが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"必要なものが得られます。

関連情報