(Plesk for Linux) ウェブサイトユーザの SSH アクセスを有効にする
概要: コマンドラインを使用してウェブサイトに変更を加えることを好む人もいます。Plesk for Linux では、Web サイトシステムユーザに Plesk サーバへの chroot または非 chroot SSH アクセス権を与えることができます。
このトピックでは、Plesk for Linux で個々のウェブサイトに対して SSH アクセスを有効にする方法を学習します。
ウェブサイトへの SSH アクセスを有効にする
デフォルトでは、ウェブサイトのシステムユーザには SSH 経由で Plesk サーバにログインする権限がありません。ログインしようとすると、SSH セッションが開かれ、すぐに閉じられます。
ウェブサイトのシステムユーザに Plesk サーバへの chroot または非 chroot SSH アクセスを付与できます。また、SSH セッションで使用するシェル (/bin/bash
や /bin/sh
など) を選択することもできます。
注釈: ウェブサイトシステムユーザに Plesk サーバへの SSH アクセスを付与することの意味を理解したうえで行ってください。
ウェブサイトシステムユーザの SSH アクセスを有効にするには:
- Plesk にログインします。
- [ウェブサイトとドメイン]に移動して、必要なドメインを探します。
- [ホスティングと DNS] タブに移動し、 [ホスティング] をクリックします。
- [SSH アクセス] の下で、[Forbidden] (禁止) 以外のいずれかのオプションを選択してから [保存] をクリックします。
これで、そのウェブサイトシステムユーザに対して SSH アクセスが有効になりました。ログイン時には、[SSH アクセス] で選択したシェルが使用されます。
Plesk サーバのIPアドレスとウェブサイトシステムユーザ名を調べるには、[ダッシュボード] タブに移動し、 [接続情報] をクリックします。
ユーザは PuTTY などの SSH クライアントを使用して SSH 経由で Plesk サーバにアクセスできます。また、 SSH ターミナル拡張 を使用して、Plesk のグラフィカルインターフェースから SSH プロンプトにアクセスすることもできます。
シェルを選択する
[SSH アクセス] で選択されたシェルは、ウェブサイトシステムユーザが SSH 経由で Plesk サーバにログインした後に実行できる操作と実行できない操作を部分的に決定します。たとえば、次のようなシェルがあります。
-
/bin/bash
シェルには、他のシェルよりも多くの機能があります。/bin/bash
で実行できるスクリプトは、/bin/sh
または/bin/dash
では実行できない場合があります。 -
/bin/rbash
シェルは、/bin/bash
で利用可能な特定のコマンドと機能の使用を防止します。
どのシェルを使用すればよいかわからない場合は、 /bin/bash
を選択することをお勧めします。
注釈: 利用可能なシェルの具体的なリストは、Plesk サーバ上の特定の OS や OS のバージョンによって異なる場合があります。
chroot シェルと非 chroot シェル
[SSH アクセス] で「/bin/bash (chrooted)」オプションが選択されている場合、ウェブサイトシステムユーザは、SSH 経由で Plesk サーバにログインするときに、ウェブサイトのホームディレクトリに制限されます。つまり、ユーザの /
ディレクトリは、ファイルシステムのルートディレクトリではなく、ウェブサイトのホームディレクトリに設定されます。これは、より安全で、より制限されたオプションです。
bash-5.2$ ls /
bin dev error_docs etc httpdocs lib lib64 logs tmp usr var
他のシェルを選択すると、ウェブサイトシステムユーザは Plesk サーバのファイルシステムのより大きな部分にアクセスできます。ユーザの /
ディレクトリは、ファイルシステムのルートディレクトリに設定されます。ユーザによるファイルとディレクトリの表示、アクセス、および操作は引き続き Linux ファイルシステムの権限によって制限されるため、たとえば、ユーザは root
ディレクトリや、ホストされている他のウェブサイトのディレクトリにアクセスできません。
example.com_sysuser@example.com:/$ ls /
bin boot etc lib lib64 media opt root sbin snap swap-hibinit tmp var
bin.usr-is-merged dev home lib.usr-is-merged lost+found mnt proc run sbin.usr-is-merged srv sys usr
example.com_sysuser@example.com:~$ ls /root
ls: cannot open directory '/root': Permission denied
注釈: ウェブサイトのシステムユーザに対して非 chroot SSH アクセスを有効にすると、そのウェブサイトの構成済みスケジュールタスクに影響します。
- [SSH アクセス] で「禁止」または「/bin/bash (chrooted)」オプションのいずれかが選択されている場合、スケジュールタスクの実行時に
/
ディレクトリがウェブサイトのホームディレクトリに設定されます。 - [SSH アクセス] で他のオプションが選択されている場合、スケジュールタスクの実行時に
/
ディレクトリがファイルシステムのルートディレクトリに設定されます。
ウェブサイトシステムユーザの SSH アクセスを許可または取り消す場合は、ウェブサイトの構成済みスケジュールタスクをそれに応じて変更してください。
ウェブサイトへの SSH アクセスを無効にする
ウェブサイトシステムユーザが SSH 経由で Plesk サーバにログインする権限はいつでも削除できます。
ウェブサイトシステムユーザの SSH アクセスを無効にするには:
- Plesk にログインします。
- [ウェブサイトとドメイン]に移動して、必要なドメインを探します。
- [ホスティングと DNS] タブに移動し、 [ホスティング] をクリックします。
- [SSH アクセス] の下で、[禁止] オプションを選択してから [保存] をクリックします。
これで、そのウェブサイトシステムユーザの SSH アクセスは無効になります。現在開いている SSH セッションは開いたままですが、そのユーザで新しい SSH セッションを開くことはできません。