小学生のユーザーグループがssh
Jupyter、rstudioなどのデータサイエンス/プログラミングリソースにアクセスするためにローカル転送を使用してサーバーに接続できるようにします。
私は最近、学生が実行中に自分がどのホストにいるかを追跡できないことを発見しましたssh
。たとえば、生徒は走ってssh -L foo:localhost:foo host1
から別のホストに接続するためにhost1
走ります。もちろん、これは現在待機しているため、他のすべてのユーザーへのポート転送を中止します。ssh -L foo:localhost:foo hostN
host1
foo
host
foo
生徒がリモートホストでクライアントを実行ssh
できないようにホストを一時的に制限しました。ただし、ある時点では、ユーザーがアクセスする必要がない場合でもssh
完全に除外することはできません。ssh
ユーザーが危険なコマンドを実行しないように/etc/ssh/ssh_config
設定する方法(クライアント側)はありますか?たとえばssh
、。foo
host1
ありがとう
答え1
クライアント側を簡単に制御することはできませんが、で定義されているようにサーバー側を制御できます/etc/ssh/sshd_config
。すべての転送オプションを無効にしてサービスを再起動します。
DisableForwarding yes
ssh -L
これはorを使用する簡単な方法を排除しますssh -R
が、誰かがアプリケーションプロキシを設定するのを防ぐことはできません(たとえば、netcat
orを使用socat
)。