ssh-chat-SSH経由で他のLinuxユーザーとグループ/プライベートチャットを行う


ssh-chatは、GoLangで記述されたクロスプラットフォームのコマンドラインユーティリティであり、ssh接続を介して比較的少数のユーザーと安全にチャットできるようにします。 SSHサーバーをチャットサービスに変換するように特別に設計されています。起動すると、通常のシェルではなくチャットプロンプトが表示されます。

  1. Enables users to chat in a room via ssh.
  2. Supports for private messaging between users.
  3. Supports for color theme customization if supported by your ssh client.
  4. It can examine any user’s public key fingerprint for identification reasons.
  5. Enables users to set a nickname.
  6. Support for whitelisting/blocking users as well as kicking users.
  7. Supports for listing of all connected users.

この記事では、Linuxシステムでssh-chatを簡単にセットアップして使用し、同じサーバー上の他のユーザーとチャットする方法について説明します。

前述したように、ssh-chatはGoLangで記述されているため、システムにGoLangがインストールされていない場合は、このガイドに従ってインストールしてください。

  1. How to Install GoLang (Go Programming Language) in Linux

Linuxシステムへのssh-chatのインストール

リリースページから最新バージョンのssh-chatをダウンロードすることから始め、tarファイルを抽出し、パッケージディレクトリに移動して、図のように実行します。

# cd Downloads
# wget -c https://github.com/shazow/ssh-chat/releases/download/v1.6/ssh-chat-linux_amd64.tgz
# tar -xvf ssh-chat-linux_amd64.tgz
# cd ssh-chat/
# ./ssh-chat

これで、チームメンバーはsshコマンドを使用してそれに接続し、安全なシェル接続を介して簡単なチャットルームでチャットを開始できます。

すべてがどのように機能するかを示すために、IPが192.168.56.10のssh-chatサーバーと、以下に示すようにssh経由でこのサーバーに接続された3人のユーザー(root、tecmint、aaronkilik)を使用します。

重要:サーバーへの接続中に3人のユーザー全員がパスワードを入力していないことに気付くでしょう。これは、ssh接続用にパスワードなしのログインを設定しているためです。これは、Linuxでのssh接続に推奨される認証方法です。

$ ssh [email protected]
$ ssh [email protected]
$ ssh [email protected]

ssh経由でサーバーに接続している間、上記のすべてのシステムユーザーは、次のようなsshコマンドを使用してチャットルームに参加できます(チャットサーバーがリッスンしているポートを使用する必要があります)。

$ ssh localhost -p 2022

すべてのチャットプロンプトコマンドを表示するには、ユーザーは/help コマンドを入力する必要があります。

[tecmint] /help 

たとえば、プライベートメッセージを送信するには;ユーザーtecmintがaaronkilikに秘密のメッセージを送信したい場合は、次のように/msg コマンドを使用する必要があります。

[tecmint] /msg aaronkilik Am a hacker btw!
[aaronkilik] /msg tecmint Oh, that's cool

以下に示すように、rootは上記のメッセージを表示しません。

ユーザー情報を表示するには、次のように/whois コマンドを使用します。

[aaronkilik]/whois tecmint

チャットルームで接続されているすべてのユーザーを表示するには、次のように/names コマンドを使用します。

[tecmint] /names

サーバーを起動する前にssh-chatで使用するいくつかのオプションがあります。今日のメッセージファイルを設定するには、次のように -motd オプションを使用します。

$ ssh-chat --motd ~/motd_file  

チャットログファイルを定義するには、以下のように -log オプションを使用します。

$ ssh-chat --motd ~/motd_file --log /var/log/ssh-chat.log         

オプションで、開発者サーバーでテストできます。

$ ssh chat.shazow.net

最後に、すべてのサーバー使用オプションを表示するには、次のように入力します。

$ssh-chat -h

Usage:
  ssh-chat [OPTIONS]

Application Options:
  -v, --verbose    Show verbose logging.
      --version    Print version and exit.
  -i, --identity=  Private key to identify server with. (default: ~/.ssh/id_rsa)
      --bind=      Host and port to listen on. (default: 0.0.0.0:2022)
      --admin=     File of public keys who are admins.
      --whitelist= Optional file of public keys who are allowed to connect.
      --motd=      Optional Message of the Day file.
      --log=       Write chat log to this file.
      --pprof=     Enable pprof http server for profiling.

Help Options:
  -h, --help       Show this help message

ssh-chat Githubリポジトリ:https://github.com/shazow/ssh-chat

チェックアウトすることを忘れないでください:

  1. 5 Best Practices to Secure and Protect SSH Server
  2. Configure “No Password SSH Keys Authentication” with PuTTY on Linux Servers
  3. Protect SSH Logins with SSH & MOTD Banner Messages
  4. How to Block SSH and FTP Access to Specific IP and Network Range in Linux

ssh-chatは、Linuxユーザー向けの非常にシンプルで使いやすい安全なチャットサービスです。共有したいことはありますか?はいの場合は、以下のフィードバックフォームを使用してください。