SSH経由でリモートLinuxシステムにログインしている場合は、exitコマンドを使用してSSHからログアウトする必要があります。
exit
それはいいです。しかし、SSH接続から他のユーザーをログアウトしたい場合はどうでしょうか?
このクイックヒントでは、ユーザーをシステムから追い出す方法を紹介します。
SSHセッションからユーザーをログアウトします
まず、Linuxサーバーにログインしているユーザーのリストを確認します。これを行うにはさまざまな方法があります。オプション-u
を指定してwhoコマンドを使用します 。このオプションは、ユーザーのログインシェルセッションのプロセスIDを表示します。
who -u
出力例は次のとおりです。
[email protected]:~# who -u
abhishek pts/0 2021-04-05 09:25 00:01 31970 (223.180.180.107)
prakash pts/1 2021-04-05 09:26 . 32004 (223.180.180.107)
root pts/2 2021-04-05 09:26 . 32039 (223.180.180.107)
ここで、prakash
を使用してキックしたいとします。 SSHセッションから。そのシェルセッションのプロセスIDは32004です。ログインシェルセッションを強制終了すると、ユーザーは切断されます。
これを行うには、killコマンドを使用してSIGHUP
を送信します。 信号。この信号は、ユーザーの端末が切断されたことを報告するために使用されます。また、セッション内のすべてのプロセスを制御端末から効果的に切断します。
sudo kill -HUP 32004
もちろん、このようなアクションを実行するには、rootまたはsudoユーザーである必要があります。
知っておくべきことがいくつかあります。
セッションを終了する前に、エンドユーザーに通知することをお勧めします。 writeコマンドを使用すると、次の方法でユーザーにメッセージをすばやくドロップできます。
echo "Your session will end in 2 minutes. Save your work!" | write prakash pts/2
SIGNHUPが機能しない場合、SSHセッションを強制的に強制終了します
SIGHUPシグナルが機能しない場合は、SIGKILLシグナルを送信してください。
sudo kill -9 32004
ログアウトすることもできますユーザーが複数のSSHセッションを持っている場合は、選択したセッションのユーザー
同じユーザーが複数のシステムまたは端末からログインしている場合、強制終了しているセッションのみが影響を受けます。すべてのセッションからユーザーを追い出すわけではありません。
これは、ネットワークの切断などの理由でSSHセッションがハングアップした場合です。ターミナルを強制終了し、新しいターミナルから別のSSHセッションを開くことができますが、システムに2回ログインしていることがわかります。
このような場合、アクティブではないはずのセッションを閉じることができます。
who
の出力に表示されるログのタイミングから、どのユーザーをキックオフするかを識別できます。 指図。心配しないでください。最悪の場合は、現在のセッションから自分自身を開始することです。ただし、その後は再度ログインできます。
このクイックヒントが、LinuxのSSHセッションからユーザーをログアウトするのに役立つことを願っています。ご質問やご提案をお待ちしております。