ウェブサイト検索

Linux で OpenSSH サーバーをインストールおよび構成する方法


ネットワーク管理者になるには、rlogintelnetsshなどのリモート ログイン プロトコルに関する深い知識が必要です。この記事で説明するのはsshです。

SSH は、他のマシン上でリモートで作業したり、SCP (Secure Copy) コマンドを使用してコンピュータ間でデータを転送したりするために使用される安全なリモート プロトコルです。しかし、OpenSSH とは何ですか? それをLinux ディストリビューションにインストールするにはどうすればよいでしょうか?

OpenSSHとは何ですか?

OpenSSH は、ssh プロトコルを使用してコンピュータ ネットワーク上で安全で暗号化された通信を提供するために使用される、無料のオープンソース コンピュータ ツール セットです。コンピュータやプロトコルに詳しくない多くの人は、OpenSSH について誤解を生み出します。OpenSSH はプロトコルだと思っていますが、そうではなく、ssh プロトコルを使用するコンピュータ プログラムのセットです。

OpenSSHOpen BSD グループによって開発され、簡易 BSD ライセンスに基づいてリリースされています。 OpenSSH がシステム管理者の間で広く使用されるようになった主な要因は、そのマルチプラットフォーム機能と非常に便利な優れた機能です。

最新バージョンは OpenSSH 9.3 で、2023 年 3 月 15 日にリリースされ、多くの新機能とパッチが付属しています。すでにOpenSSHを使用している場合は、マシンを管理するには、アップグレードを行うか、ソースから ssh をインストールすることをお勧めします。

Telnet または FTP 経由で OpenSSH を使用する理由

ftpTelnet ではなく OpenSSH ツールを使用する必要がある最も重要な理由は、すべての通信とユーザー認証情報が OpenSSH を使用して行われるためです。 > は暗号化されており、中間者攻撃からも保護されています。サードパーティが接続を傍受しようとすると、OpenSSH がそれを検出し、それについて通知します。

OpenSSHの機能

  • 安全な通信
  • 強力な暗号化 (3DESBlowfishAESArcfour)
  • X11 転送 (X Window System トラフィックを暗号化)
  • ポート転送 (レガシープロトコルの暗号化チャネル)
  • 強力な認証 (公開キー、ワンタイム パスワード、および Kerberos 認証)
  • エージェント転送 (シングル サインオン)
  • 相互運用性 (SSH 1.3、1.52.0 プロトコル標準への準拠)
  • SFTP クライアントとサーバーは、SSH1 プロトコルと SSH2 プロトコルの両方でサポートされています。
  • ケルベロスAFS チケット パッシング
  • データ圧縮

Linux に OpenSSH サーバーをインストールする

OpenSSH をインストールするには、ターミナルを開き、スーパーユーザー権限で次のコマンドを実行します。

Debian/Ubuntu/Linux Mint の場合

Debian ベースのディストリビューションでは、次の apt コマンドを使用して、図に示すように openssh サーバーとクライアントをインストールできます。

sudo apt install openssh-server openssh-client

RHEL/Centos/Fedora 上

RedHat ベースのディストリビューションでは、次の yum コマンドを入力して openssh サーバーとクライアントをインストールします。

yum -y install openssh-server openssh-clients

Linux で OpenSSH サーバーを構成する

ssh config ファイルを使用して OpenSSH の動作を設定しますが、/etc/ssh/sshd_config ファイルを編集する前にバックアップする必要があります。そのコピーなので、何か間違いがあった場合に備えて、オリジナルのコピーを持っています。

ターミナルを開き、次の cp コマンドを実行して、元のsshd 構成ファイルのコピーを作成します。

sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

入力したコマンドからわかるように、original_copy サフィックスを追加したため、このファイルを見るたびに、それが sshd 構成ファイルのオリジナル コピーであることがわかります。

OpenSSH に接続するにはどうすればよいですか

次に進む前に、openssh サーバーが動作しているかどうかを確認する必要があります。どうやってするか? openssh クライアントを介してローカルホストからopensshサーバーへの接続を試行するか、< でポートスキャンを実行できます。nmap ですが、私は TCP/IP スイス アーミー ナイフとも呼ばれる netcat と呼ばれる小さなツールを使用するのが好きです。 。私は自分のマシンでこの素晴らしいツールを使って作業するのが大好きなので、それをお見せしましょう。

nc -v -z 127.0.0.1 22

netcat の結果を参照すると、ssh サービスは私のマシンのポート 22 で実行されています。とても良い! 22 ではなく別のポートを使用したい場合はどうすればよいでしょうか?これを行うには、sshd 構成ファイルを編集します。

SSHポートの変更

デフォルトの TCP ポート 22 ではなく、TCP ポート 13 でリッスンするように OpenSSH を設定します。お気に入りのテキスト エディタで sshd_config ファイルを開き、ポート ディレクティブを 13 に変更します。

Port 13

次のコマンドを入力し、netcat を実行して、リッスン用に設定したポートが開いているかどうかを確認して、OpenSSH サーバーを再起動し、構成ファイルの変更を有効にします。

sudo systemctl restart sshd

openssh サーバーがポート 13 でリッスンしているかどうかを確認する必要がありますか?この検証は必要なので、この作業を支援するために私の素敵なツールをnetcatと呼んでいます。

nc -v -z 127.0.0.1 13

openssh サーバーに素敵なログイン バナーを表示させたいですか?これを行うには、/etc/issue.net ファイルの内容を変更します。

nano /etc/issue.net

次のバナー メッセージを貼り付けます。

Authorized access only!

If you are not authorized to access or use this system, disconnect now!

次に、sshd 構成ファイル内に次の行を追加します。

Banner /etc/issue.net

SSH 設定を変更した後は、必ず再起動してください。

sudo systemctl restart sshd
結論

openssh サーバーの設定方法に関しては、openssh ツールを使用してできることはたくさんありますが、想像力には限界があると言えます。