Linux:サーバーへのSSH接続がなくても$ SSH_CONNECTIONが確立されます。

Linux:サーバーへのSSH接続がなくても$ SSH_CONNECTIONが確立されます。

リモートサーバーがあり、サーバーにスクリプトを作成しており、SSHを介してサーバーに接続したときにのみトリガーされることを望みます。私はこの目的を使用し$SSH_CONNECTION$SSH_TTY達成しようと思いました。 SSHを使用せずに代わりにVNCクライアントを使用してサーバーに入ると(私のサーバーでvncが実行されている)、VNCによって生成された端末にはまだこれら2つの環境変数が設定されており、どちらの$SSH_CONNECTION場合も同じ値を持つことがわかりました。 。 。さらにフィルタリングして、親プロセスがsshdであることを確認する解決策を見つけましたps -o comm= -p $PPIDが、変数が設定された理由を知りたいと思います。

ベストアンサー1

SSH変数を設定するのはなぜですか?

これらの変数は、VNC接続がSSH接続を介してトンネリングされるため、確立される可能性が高くなります。これには妥当な理由があります。 VNCの使い方RFBプロトコルどの安全ではない。 SSHを介してVNCトンネルを確立すると、セキュリティが向上します。

SSH_CONNECTION変数が同じ理由は何ですか?

SSH_CONNECTION変数は、(1)クライアントIPアドレス、(2)クライアントポート番号、(3)サーバーIPアドレス、(4)サーバーポート番号の4つの値で構成されます.特定のサーバーと通信する特定のクライアントの場合、1つのセッションから次のセッションに変更できる唯一のものはクライアントポート番号です。変更するかどうかは状況によって異なります。たとえば、SSH コマンドを発行できます。既存の接続の再利用。これは速度のために行われます。その場合、複数の接続がすべて1つのポートを共有できます。

おすすめ記事