ウェブサイト検索

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


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

SCP(セキュアコピー)コマンド。しかし、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 の場合

apt コマンドで、図のように openssh サーバーとクライアントをインストールします。

$ sudo apt install openssh-server openssh-client

RHEL/Centos/Fedora 上

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サーバーへの接続を試みたり、< でポートスキャンを実行したりできます。netcat はTCP/IP スイス アーミー ナイフとしても知られています。私は自分のマシンでこの素晴らしいツールを使って作業するのが大好きなので、それをお見せしましょう。

# 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 サーバーの 5 つのベスト セキュリティ プラクティス
  • SSHGUARD を使用して SSH ブルート フォース攻撃をブロックする方法
  • Linux での基本的な SSH コマンドの使用法と構成
  • Linux で SSH の 2 要素認証をセットアップする方法

結論

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