Linux
 Computer >> コンピューター >  >> システム >> Linux

LinuxですべてのアクティブなSSH接続を表示する方法

LinuxですべてのアクティブなSSH接続を表示する方法

SSHは、ローカルマシンからリモートホストにログインして管理できるようにする、一般的で効果的なプロトコルです。このガイドでは、リモートホストでアクティブなSSH接続を確認するために使用できるさまざまなコマンドについて説明します。

注: システム構成によっては、これから説明するコマンドの中には、rootまたはsudoが必要な場合があります。 特権。

1。 WHOコマンドの使用

アクティブなSSH接続を表示するために使用できる最初のコマンドは、whoです。 コマンド。

who コマンドは、現在システムにログインしているユーザーを表示するために使用されます。接続されているユーザーと送信元IPアドレスを表示できます。

whoを使用するには コマンド、単にwhoと入力します パラメータなし。

LinuxですべてのアクティブなSSH接続を表示する方法

上記の出力では、リモートIPアドレスからttyと2つのSSHセッションを介して接続された1人のDebianユーザーを見ることができます。

whoにパラメータを追加することもできます 詳細情報を表示するコマンド。

たとえば、接続しているユーザーの最後の起動を表示するには、-b -uを追加します フラグ:

who -b -u
LinuxですべてのアクティブなSSH接続を表示する方法

who コマンドは、カスタマイズされた結果を取得するためのより多くのオプションを提供します。詳細については、マニュアルページを確認してください。

2。 Wコマンドの使用

サーバーに接続しているさまざまなSSHセッションとユーザーのステータスを表示するために使用できる次のコマンドはwです。 指図。 whoとは異なり コマンド、w コマンドは、各ユーザーの実行中のプロセスに関する詳細情報を提供します。

さらに、w コマンドはアイドル状態のSSH接続に関する情報を提供します。これは、SSH接続を終了する必要がある場合に非常に役立ちます。

他のオプションを指定せずにコマンドを実行すると、次のような出力が得られます。

LinuxですべてのアクティブなSSH接続を表示する方法

上記の例では、w コマンドは、ユーザー名、TTYメソッド、送信元IPアドレス、ログイン時間、アイドル時間などの詳細情報を提供します。

whoのように コマンドでは、wを使用することもできます さまざまなパラメータを使用したコマンド。次の表は、wで使用できるさまざまなパラメータを示しています。 コマンド。

パラメータ それが何をするか
-h、–no-header ヘッダーを印刷しないように端末に通知します
-u、–no-current 接続されているユーザーのプロセスとCPU時間を表示するため、ユーザー名を無視するように端末に指示します
-s、–short ログイン時間、JCPU、PCPUを除く短縮された出力を出力するように端末に指示します
-f、–from 印刷出力のFROMオプションを有効/無効にします
–ヘルプ さまざまなwコマンドオプション/パラメータを表示して終了します
-v、–version バージョンと終了に関する情報を表示します
ユーザー 結果を指定したユーザーに絞り込みます

以下の例は、wを示しています -sで使用されるコマンド および-f FROM部分が切り捨てられた現在のSSHセッションの要約出力を表示するパラメーター。

LinuxですべてのアクティブなSSH接続を表示する方法

めったに使用されませんが、wを使用することもできます 環境パラメータとファイルパラメータを使用したコマンド。これらのパラメータの詳細については、マニュアルページを検討してください。

3。最後のコマンドの使用

lastを使用することもできます 接続されているすべてのSSHセッションを表示するコマンド。最後のコマンドは、最後にログインしたユーザーのリストを表示します。

指定されたファイルをチェックすることで動作します。たとえば、「/ var / log / wtmp」には、ファイルの作成以降にログインおよびログアウトしたすべてのユーザーが表示されます。このコマンドは、クライアントとサーバー間で作成されたSSHセッションに関する情報も提供します。

最後のコマンドの一般的な構文は次のとおりです。

last

これが例です。

LinuxですべてのアクティブなSSH接続を表示する方法

最後のコマンドからの出力は大量であるため、grepを使用できます。 アクティブなセッションのみを表示するコマンド。

例:

last | grep still
LinuxですべてのアクティブなSSH接続を表示する方法

最後のコマンドからの出力を変更して、詳細情報を表示することもできます。

たとえば、完全なユーザー名とドメインを表示するには、-wを使用できます。 フラグ。

last -w

最後のコマンドは多数のオプションをサポートしています。最後のコマンドで最も一般的に使用されるオプションは次のとおりです。

パラメータ それが何をするか
-a、–hostlast 最後の列にホスト名を表示します
-d、–dns Linuxは、すべてのリモートホストのホスト名とIPアドレスを保存します。このパラメータは、IPをホスト名に変換します
-ファイル、–ファイル / var / log/wtmp以外の指定されたファイルを使用するように最後のコマンドに通知します
-F、–fulltimes すべてのログインとログアウトの日時を印刷するための最後のプロンプト
-i、–ip –dnsと同様ですが、ホストのホスト名を表示する代わりに、IP番号を表示する点が異なります

4。 netstatコマンドの使用

netstatを忘れることはできません 指図。 Netstatは、すべてのネットワーク接続、ネットワークインターフェイス、ルーティングテーブルなどを表示するために使用されます。

netstatコマンドを使用して、Linuxサーバーで確立または接続されたSSHセッションをフィルタリングすることもできます。

netstat | grep ssh
LinuxですべてのアクティブなSSH接続を表示する方法

上記のコマンドは、確立されたSSH接続のみを表示します。

リスニングと非リスニングを含むすべての接続を表示するには、-aを使用できます フラグを立てる:

nestat -a | grep ssh
LinuxですべてのアクティブなSSH接続を表示する方法

5。 ssコマンドの使用

接続されたSSHセッションの詳細については、ssを使用できます。 コマンド。ソケットデータを表示し、netstatに似ています。 。

たとえば、ssからの出力をgrepできます。 -aを使用したコマンド オプション(すべて)を使用して、接続されているすべてのSSHセッションを表示します。その構文は次のとおりです。

ss -a | grep ssh
LinuxですべてのアクティブなSSH接続を表示する方法

上記の出力には、リモートホスト上のすべてのSSH接続が表示されます。これにはSSHDデーモンが含まれます。

確立されたSSH接続をフィルタリングするために、出力をgrepにパイプで戻すことができます。

ss -a | grep ssh | grep ESTAB
LinuxですべてのアクティブなSSH接続を表示する方法

上記のコマンドは、アクティブなSSH接続のみを返します。

ss コマンドには、アクティブなサーバー接続に関するさまざまなことを学習するために使用できる他のオプションもたくさんあります。たとえば、-eを使用できます ソケット情報の詳細を表示するフラグ。

まとめ

不正なSSHログインがないかリモートホストを監視し続け、サーバーの保護やパスワード認証の無効化などの必要なアクションを実行することをお勧めします。一方、リバースSSHトンネリングを使用して、PCへの外部接続を許可することもできます。


  1. Linuxホームサーバーを保護する方法

    ホームサーバーを設定する理由はたくさんあります。メディアサーバー、ファイルサーバー、またはローカルバックアップサーバーとしても使用できます。基本的に、オンラインである必要のないファイルは、ホームサーバーの候補として適しています。 Linuxを搭載したホームサーバーのセットアップは、特に最近では比較的簡単です。そうは言っても、そのサーバーを安全に保つことはまったく別の話です。セキュリティは重要であると同時に、注意が必要な場合もあります。 絶対に必要なものだけをインストールする ホームサーバーを安全に保つ最も簡単な方法の1つは、最初からセキュリティを念頭に置くことです。これはインストールから始ま

  2. Linuxでssコマンドを使用してネットワーク接続を監視する方法

    Linuxを使用している場合は、ネットワークについてもっと知る必要がある時期が来るでしょう。これを行うのに役立つツールがいくつかあり、一部のツールは他のツールよりも複雑です。 ss コマンドは多くのマシンにインストールされていると信頼できるものなので、知っておくと便利です。 ssコマンドとは何ですか? 2文字のコマンドの名前は難解に見えるかもしれませんが、実際には非常に単純です。多くのLinux/Unixコマンドと同様に、名前はコマンドの機能の省略形です。ここで、ssはSocketStatisticsの略です。 Socket Statisticsは、古いnetstatに代わるものです。