LinuxでOpenSSHサーバーをインストールして構成する方法


ネットワーク管理者になるには、rlogin、telnet、sshなどのリモートログインプロトコルに関する深い知識が必要です。この記事で説明するのはsshです。これは、他のマシンでリモートで作業したり、SCP(Secure Copy)コマンドを使用してコンピューター間でデータを転送したりするために使用されるセキュアなリモートプロトコルです。しかし、OpenSSHとは何ですか?Linuxディストリビューションにインストールする方法は?

OpenSSHとは何ですか?

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

OpenSSHはOpenBSDグループによって開発され、Simplified BSDLicenseの下でリリースされています。 OpenSSHがシステム管理者の間でこれほど多く使用されることを可能にした主な要因は、そのマルチプラットフォーム機能と非常に便利な優れた機能です。最新バージョンは、2013年11月8日にリリースされたOpenSSH6.4です。

このバージョンのOpenSSHには多くの新機能とパッチが付属しているため、マシンの管理にOpenSSHを既に使用している場合は、アップグレードを行うことをお勧めします。

なぜOpenSSHをTelnetまたはFtp経由で使用するのですか?

ftpおよびtelnetを介してOpenSSHツールを使用する必要がある最も重要な理由は、OpenSSHを使用するすべての通信とユーザー資格情報が暗号化されており、中間者攻撃からも保護されていることです。サードパーティが接続を傍受しようとすると、OpenSSHはそれを検出し、そのことを通知します。

OpenSSHの機能にはどのようなものがありますか?

  1. Secure Communication
  2. Strong Encryption (3DES, Blowfish, AES, Arcfour)
  3. X11 Forwarding (encrypt X Window System traffic)
  4. Port Forwarding (encrypted channels for legacy protocols)
  5. Strong Authentication (Public Key, One-Time Password and Kerberos Authentication)
  6. Agent Forwarding (Single-Sign-On)
  7. Interoperability (Compliance with SSH 1.3, 1.5, and 2.0 protocol Standards)
  8. SFTP client and server support in both SSH1 and SSH2 protocols.
  9. Kerberos and AFS Ticket Passing
  10. Data Compression

LinuxへのOpenSSHのインストール

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

$ sudo apt-get install openssh-server openssh-client

次のyumコマンドを入力して、opensshクライアントとサーバーをインストールします。

# yum -y install openssh-server openssh-clients

OpenSSHの構成

ssh構成ファイルを使用してOpenSSHの動作を構成するときが来ましたが、/ etc/ssh/sshd_configファイルを編集する前に、そのコピーをバックアップする必要があるため、間違いがあった場合に備えて、元のコピーがあります。

ターミナルを開き、次のコマンドを実行して、元の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構成ファイルを編集することで実行できます。

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

# What ports, IPs and protocols we listen for
Port 13

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

$ sudo /etc/init.d/ssh restart

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

# nc -v -z 127.0.0.1 13

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

Banner /etc/issue.net

結論

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

また読む:OpenSSHサーバーを保護および保護するための5つのベストプラクティス