OSバージョン確認とネットワークインターフェース初期化
対象システムのリリース情報を取得するには、以下のコマンドを実行します。
cat /etc/redhat-release
基本的なネットワーク設定ツールがシステムに導入されていない場合(ifconfigやnetstatが存在しない場合)は、追加インストールが必要です。
yum install -y net-tools
ネットワークインターフェースの起動設定を有効化します。構成ファイルは環境に応じて名称が異なりますが、/etc/sysconfig/network-scripts/ディレクトリ配下に格納されます。エディタで開き、ONBOOTパラメータをnoからyesに変更してください。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
変更を反映させるにはネットワークサブシステムを再起動します。
systemctl restart network
パッケージリポジトリミラーへの変更
デフォルトの配布元が低速な場合、信頼性の高い国内ミラーサイトを登録します。ここではNetEase(163)ミラーを採用する手順を示します。
まずwgetが未インストールの場合は導入します。
yum install -y wget
既存のリポジトリ設定は安全のためバックアップを取得します。
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
対象バージョン用の設定ファイルをダウンロードし、指定ディレクトリに配置します(CentOS 7の場合)。
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
ls -l CentOS7-Base-163.repo
新しいミラー設定を適用するためにキャッシュを破棄し、更新履歴を再構築します。
yum clean all
yum makecache
SSHサーバー構築と基本動作確認
SSH(Secure Shell)は、アプリケーション層上で動作する暗号化通信プロトコルです。認証プロセスとデータ転送を保護し、管理者が安全に遠隔端末へアクセスするための標準規格となっています。
サーバー側ではopenssh-serverパッケージをインストールし、デーモンを起動させます。
yum install -y openssh-server
systemctl start sshd
プロセスが正常に稼働しているか確認します。
pgrep -a sshd
systemctl status sshd
システム起動時に自動でSSHサービスが開始されるよう永久有効化を設定します。
systemctl enable sshd
クライアント環境構築と接続テスト
Linuxホストから別マシンへ接続する場合、クライアントツールも必要となります。
yum install -y openssh-clients
基本的な接続方法は以下の通りです。ユーザー名とターゲットIPアドレスを指定します。
ssh target_user@192.168.10.50
Windows環境ではXshellやPuTTYなどの専用クライアントが広く利用されていますが、Linux環境内からの操作にはネイティブコマンドが最も効率的です。
接続エイリアスの定義(~/.ssh/config)
複数のサーバーを頻繁に切り替えて運用する際、毎回IPアドレスやポート番号を入力するのは非効率です。~/.ssh/configファイルを使用することで、簡易な別名で一貫した接続パラメータを管理できます。
該当ディレクトリに移動し、設定ファイルを作成・編集します。
mkdir -p ~/.ssh && cd ~/.ssh
touch config
chmod 600 config
nano config
ファイル内に以下のブロックを追記します。ここではweb-node-01というエイリアスを定義しています。
Host web-node-01
HostName 47.95.8.70
User admin
Port 22
IdentityFile ~/.ssh/id_ed25519
保存後、エイリアス名だけで接続が可能になります。
ssh web-node-01
公開鍵認証の設定とパスワードレス接続
定期的なパスワード入力を削減し、セキュリティレベルを高めるために公開鍵認証を導入します。
ローカルマシンのホームディレクトリで鍵ペアを生成します。現代の環境ではEd25519アルゴリズムが推奨されます。
ssh-keygen -t ed25519 -C "admin@example.com"
ls -l ~/.ssh/
生成された秘密鍵をSSHエージェントに読み込ませます(Linuxクライアント環境向け)。
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
対象サーバー上の~/.ssh/ディレクトリへ移動し、公開鍵(.pubファイルの内容)をauthorized_keysファイルへ追記・保存します。
mkdir -p ~/.ssh
cat id_ed25519.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
これにより、次回以降の接続実行時、対話的なパスワード入力なしでログインできるようになります。
通信ポートのカスタマイズとアクセス制御
標準のTCP 22番ポートはボットスキャンの対象となりやすいため、不明なポートへの変更は基本対策となります。SSHの設定ファイルを開きます。
vi /etc/ssh/sshd_config
ファイル内の#Port 22コメントアウトを解除し、任意の番号(例:2244)へ変更します。
Port 2244
設定を適用するため、SSHデーモンを再起動します。なお、FirewallやSELinuxの設定調整も併せて行う必要があります。
systemctl restart sshd