Linux で OpenSSH サーバーをインストールおよび構成する方法
ネットワーク管理者になるには、rlogin、telnet、sshなどのリモート ログイン プロトコルに関する深い知識が必要です。この記事で説明するのはsshです。
SCP(セキュアコピー)コマンド。しかし、OpenSSH とは何ですか? それをLinux ディストリビューションにインストールするにはどうすればよいでしょうか?
OpenSSHとは何ですか?
OpenSSH は、ssh プロトコルを使用してコンピュータ ネットワーク上で安全で暗号化された通信を提供するために使用される、無料のオープンソース コンピュータ ツール セットです。コンピュータやプロトコルに詳しくない多くの人は、OpenSSH について誤解を生み出します。OpenSSH はプロトコルだと思っていますが、そうではなく、ssh プロトコルを使用するコンピュータ プログラムのセットです。。
OpenSSH はOpen BSD グループによって開発され、簡易 BSD ライセンスに基づいてリリースされています。 OpenSSH がシステム管理者の間で広く使用されるようになった主な要因は、そのマルチプラットフォーム機能と非常に便利な優れた機能です。
最新バージョンは OpenSSH 9.3 で、2023 年 3 月 15 日にリリースされ、多くの新機能とパッチが付属しています。すでにOpenSSHを使用している場合は、マシンを管理するには、アップグレードを行うか、ソースから ssh をインストールすることをお勧めします。
Telnet または FTP 経由で OpenSSH を使用する理由
ftp や Telnet ではなく OpenSSH ツールを使用する必要がある最も重要な理由は、すべての通信とユーザー認証情報が OpenSSH を使用して行われるためです。 > は暗号化されており、中間者攻撃からも保護されています。サードパーティが接続を傍受しようとすると、OpenSSH がそれを検出し、それについて通知します。
OpenSSHの機能
- 安全な通信
- 強力な暗号化 (3DES、Blowfish、AES、Arcfour)
- X11 転送 (X Window System トラフィックを暗号化)
- ポート転送(レガシープロトコルの暗号化チャネル)
- 強力な認証 (公開キー、ワンタイム パスワード、および Kerberos 認証)
- エージェント転送 (シングル サインオン)
- 相互運用性(SSH 1.3、1.5、2.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 ツールを使用してできることはたくさんありますが、想像力には限界があると言えます。