Linuxにおけるrsshとscponlyのインストールと設定方法
はじめに
Linuxサーバーを管理する際、ユーザーに完全なシェルアクセスを許可せずにファイル転送のための制限付きアクセスを提供することは一般的なセキュリティの懸念です。これを実現するための2つのツールがrsshとscponlyです。これらの制限付きシェルは、ユーザーがコマンドの実行を防ぎながら、SCP、SFTP、およびrsyncを介して特定のファイル転送操作を実行できるようにします。
このガイドでは、Linuxシステム上でのrsshとscponlyのインストールとセットアップについて説明します。
rsshのインストール
rsshをインストールする
ほとんどのLinuxディストリビューションは、パッケージリポジトリにrsshを提供しています。以下のコマンドを使用してインストールできます。
Debian/Ubuntuの場合:
sudo apt update && sudo apt install rssh -y
CentOS/RHELの場合:
sudo yum install rssh -y
Arch Linuxの場合:
sudo pacman -S rssh
rsshを設定する
インストールが完了したら、設定ファイルを編集してrsshを構成します:
sudo nano /etc/rssh.conf
SCP、SFTP、またはrsyncを許可するために必要なオプションのコメントを外します。例:
allowscp allowsftp allowrsync
ファイルを保存して終了します。
rsshを使用したユーザーのセットアップ
特定のユーザーに対してrsshをシェルとして割り当てるには、次のコマンドを実行します:
sudo usermod -s /usr/bin/rssh username
これで、ユーザーはSCP、SFTP、またはrsyncを介して許可された操作のみを実行できるようになります。
scponlyのインストール
scponlyをインストールする
Debianベースのシステムの場合:
sudo apt update && sudo apt install scponly -y
CentOS/RHELの場合:
sudo yum install scponly -y
Arch Linuxの場合:
sudo pacman -S scponly
ユーザーのためのscponlyのセットアップ
ユーザーをscponlyに制限するには、そのシェルを変更します:
sudo usermod -s /usr/bin/scponly username
ユーザーが適切に制限されていることを確認するために、次のコマンドでテストします:
ssh username@server
シェルアクセスを拒否し、SCP/SFTPファイル転送を許可する必要があります。
テストと検証
セットアップを確認するために、次の方法でファイル転送を試みます:
SCPの場合:
scp file.txt username@server:/home/username/
SFTPの場合:
sftp username@server
正しく設定されていれば、ユーザーはファイルを転送できるが、コマンドを実行することはできません。
結論
rsshとscponlyを使用することで、管理者はユーザーのファイル転送アクセスを制限することによりセキュリティを強化できます。これにより、必要なファイル交換操作を許可しながら、不正なシェルアクセスを防ぐことができます。セキュリティポリシーに合わせて定期的に設定を更新することを忘れないでください。


