ユーザーはポート転送を許可しますが、SSHを介した他の操作は許可しません。

ユーザーはポート転送を許可しますが、SSHを介した他の操作は許可しません。

Linuxユーザーを作成し、デフォルトのシェルを/bin/true

どうすればいいですか?

答え1

ユーザーのシェルをに設定すると、/bin/trueユーザーはサーバー上で何もできません。問題は、ユーザーが「normal」を介してサーバーに接続している場合、sshパスワードを入力した直後に切断され、ポート転送も使用できないことです。

ユーザーは次のように-Nパラメータを使用する必要がありますssh

ssh -N -L 8000:localhost:80 youruser@yourserver

これにより、ユーザーが接続しているコンピュータのポート8000​​からサーバーのポート80へのポート転送が作成されます。この-Nパラメータはssh接続が確立されましたが、いいえユーザーのデフォルトシェル(/bin/trueあなたの場合)を実行します。したがって、ユーザーは接続を維持し、Ctrl-Cによって中断されるまで接続は「中断」されます。この間、ポートは転送されます。

sshbeforeを追加すると、「hanging」(ターミナルがブロックされないようにする)前にバックグラウンドに移動することもできます。この場合、後でポートフォワーディングを終了するには、プロセスリストでそのプロセスを見つけて終了する必要があります。-f-Nssh

関連情報