「設定 - SSH」の版間の差分

ナビゲーションに移動 検索に移動
2,197 バイト追加 、 2021年11月25日 (木)
(Wiki がページ「SSHを有効にする方法(SUSE)」を「設定 - SSH」に、リダイレクトを残さずに移動しました)
31行目: 31行目:
次に、上記で行ったSSHの設定を反映させるため、sshdを再起動する。<br>
次に、上記で行ったSSHの設定を反映させるため、sshdを再起動する。<br>
  sudo systemctl restart sshd
  sudo systemctl restart sshd
<br>
Firewalldを有効にしている場合は、SSHサービスのポート番号を開放する。<br>
sudo firewall-cmd --permanent --add-port=<変更したSSHのポート番号>/tcp
<br>
Firewalldの設定を反映させるため、Firewalldを再起動する。<br>
sudo firewall-cmd --reload
<br><br>
== SSH接続中のサスペンドの無効化 ==
SSH接続されているPCは無操作状態とみなされて、サスペンドの設定をしている場合、所定の時間が経過するとサスペンドされる。<br>
そのため、SSH接続中のユーザが存在する時はサスペンドしないように設定する必要がある。<br>
<br>
まず、/usr/lib/systemd/systemディレクトリにsystemdユニットファイルを作成する。<br>
<br>
これは、スリープフックと呼ばれるものであり、スリープまたはハイバネートする前に<code>ExecStart</code>で指定したコマンドが実行される。<br>
まず、<code>who</code>コマンドを実行することにより、SSH接続中のユーザが存在するかどうか確認する。<br>
もし、SSH接続中のユーザが存在する場合は、終了コードを0以外にして後続処理を動作させないようにする。<br>
sudo vi /usr/lib/systemd/system/inhibit-sleep.service
<br>
# /usr/lib/systemd/system/inhibit-sleep.serviceファイル
[Unit]
Description=Inhibit sleep when ssh logged
Before=sleep.target
[Service]
Type=oneshot
ExecStart=/usr/bin/sh -c '! who | grep -q "(\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\})"'
[Install]
RequiredBy=sleep.target
<br>
以下のシンボリックリンクを作成する。<br>
sudo ln -s /usr/lib/systemd/system/inhibit-sleep.service /etc/systemd/system/
<br>
コマンドでsystemdユニットファイルを有効にするため、以下のコマンドを実行する。<br>
sudo systemctl enable inhibit-sleep.service
<br>
動作確認するには、システムログを確認する。<br>
サスペンドした場合は<code>Reached target Sleep.</code>、サスペンドから復帰した場合は<code>Stopped target Sleep.</code>と表示される。<br>
sudo journalctl -f -usleep.target
<br><br>
<br><br>


案内メニュー