CentOS Stream 9: SSHサーバー設定ガイド

Centos

このガイドでは、CentOS Stream 9でSSHサーバーを設定する方法について詳しく説明します。パスワード認証からSSH鍵認証、ファイル転送、ポートフォワーディング、並列SSHの使用まで、各種のSSH機能を網羅しています。

1. パスワード認証の設定

SSHサーバーでは、デフォルトでパスワード認証が有効になっています。パスワード認証を確認または有効化するには、sshd_configファイルを編集します。

# SSH設定ファイルを編集
sudo vi /etc/ssh/sshd_config

# パスワード認証を有効化
PasswordAuthentication yes

設定を変更した後、SSHサービスを再起動します。

# SSHサービスの再起動
sudo systemctl restart sshd

2. CentOSでのSSHファイル転送

SSHを使って、CentOS間でファイルを転送するにはscpコマンドを使用します。scpは、SSHプロトコルを使用して安全にファイルを転送します。

# ローカルからリモートにファイルを転送
scp /path/to/local/file user@remote_host:/path/to/remote/directory

# リモートからローカルにファイルを転送
scp user@remote_host:/path/to/remote/file /path/to/local/directory

3. WindowsでのSSHファイル転送

Windowsでは、WinSCPなどのツールを使用してSSH経由でファイルを転送できます。WinSCPを使うと、グラフィカルなインターフェースで簡単にファイル転送が可能です。

以下のリンクからWinSCPをダウンロードし、インストールします: WinSCP公式サイト

4. SSH鍵ペア認証の設定

SSHキーを使用したパスワードレス認証は、より安全な方法です。まず、ssh-keygenコマンドで鍵ペアを作成します。

# SSH鍵ペアの作成
ssh-keygen -t rsa

# 公開鍵をリモートサーバーにコピー
ssh-copy-id user@remote_host

これにより、次回からはパスワードを入力せずにSSH接続が可能になります。

5. SFTPのみ + Chrootの設定

特定のユーザーをSFTPのみのアクセスに制限し、Chrootを使ってファイルシステムの一部を隔離する設定です。まず、sshd_configを編集します。

# SSH設定ファイルを編集
sudo vi /etc/ssh/sshd_config

# 以下の設定を追加
Subsystem sftp internal-sftp
Match User sftpuser
  ChrootDirectory /home/sftpuser
  ForceCommand internal-sftp
  AllowTcpForwarding no

この設定を反映させるため、SSHサービスを再起動します。

6. SSH-Agentの使用

ssh-agentは、SSHセッション間で秘密鍵をキャッシュし、毎回パスフレーズを入力する必要をなくすために使用します。

# SSHエージェントを起動
eval $(ssh-agent)

# SSH鍵をエージェントに追加
ssh-add ~/.ssh/id_rsa

7. SSHPassの使用

sshpassを使用すると、スクリプト内でパスワード認証が必要な場合に自動化できます。以下のコマンドでsshpassをインストールします。

# sshpassのインストール
sudo dnf install sshpass -y

# sshpassを使ってSSH接続
sshpass -p 'your_password' ssh user@remote_host

8. SSHFSの使用

sshfsを使うと、リモートサーバーのディレクトリをローカルファイルシステムにマウントできます。

# sshfsのインストール
sudo dnf install sshfs -y

# リモートディレクトリをローカルにマウント
sshfs user@remote_host:/remote/directory /local/mountpoint

9. ポートフォワーディングの使用

SSHを使用してポートフォワーディングを行い、ローカルホストからリモートサービスにアクセスします。

# ローカルフォワーディング
ssh -L local_port:remote_host:remote_port user@remote_host

# リモートフォワーディング
ssh -R remote_port:localhost:local_port user@remote_host

10. Parallel SSHの使用

psshを使うと、複数のリモートホストに対して並列にコマンドを実行できます。

# psshのインストール
sudo dnf install pssh -y

# 複数ホストに対してコマンドを実行
pssh -h hosts.txt -l user -A -i "uptime"

このコマンドは、指定された複数のホストに対して同時にuptimeコマンドを実行します。

購読
通知
0 Comments
Inline Feedbacks
View all comments