web-dev-qa-db-ja.com

エラー時にロールバックするためのssh構成のバックアップはありますか?

私はインターネット上にsshサーバーを備えたサーバーを持っています。 (/etc/ssh/sshd_configファイルを編集して)sshを構成しようとしています。編集後、sshを再起動する必要があります。しかし、ファイルにタイプミス/構文エラーが発生すると、sshサーバーが起動しませんでした。マシンに接続されていないため、元に戻すことができません。

バックアップ構成ファイル(エラー時に自動的に選択されます)を提供する方法、またはサーバーからのロックアウトを防ぐ他の方法はありますか?

私が見つけた唯一の方法は、FTP経由で接続してファイルを編集することですが、単純なFTPは安全ではなく、SFTPはsshを使用するため、これは安全でない解決策にすぎません。

2
betontalpfa

構成を適切にテストする場合、フォールバック構成は必要ありません。

  1. SSH経由でシステムに接続する
  2. SSHサーバーの構成を変更します。
  3. Sshdの-tまたは-Tオプションを使用して構成をテストします。
  4. 接続したままsshdを再起動します。これは現在の接続を閉じません。
  5. サーバーへの2番目の接続を作成してみてください。これが失敗した場合でも、以前の構成を再インストールしてテストするためのアクティブな最初の接続があります。
4
Steffen Ullrich
screen -x
cd /etc/ssh
cp sshd_config sshd_config_orig
vim sshd_config
sshd -t
systemctl restart sshd; mv sshd_config sshd_config_attempt; mv sshd_config_orig sshd_config

次に、接続を維持しますが、新しいターミナルを開き、新しいsshクライアントを使用して新しい接続をテストします。

正しく機能していることに満足している場合:

rm sshd_config; mv sshd_config_attempt sshd_config

正しく機能していることに満足できない場合:

systemctl restart sshd

なんらかの異常な事故により、このテスト中に接続が失われた場合は、ipmiまたはハイパーバイザー制御を使用してリモートサーバーを再起動すると、古い既知の動作構成で再起動します。

0
Billy C.