私はインターネット上にsshサーバーを備えたサーバーを持っています。 (/etc/ssh/sshd_config
ファイルを編集して)sshを構成しようとしています。編集後、sshを再起動する必要があります。しかし、ファイルにタイプミス/構文エラーが発生すると、sshサーバーが起動しませんでした。マシンに接続されていないため、元に戻すことができません。
バックアップ構成ファイル(エラー時に自動的に選択されます)を提供する方法、またはサーバーからのロックアウトを防ぐ他の方法はありますか?
私が見つけた唯一の方法は、FTP経由で接続してファイルを編集することですが、単純なFTPは安全ではなく、SFTPはsshを使用するため、これは安全でない解決策にすぎません。
構成を適切にテストする場合、フォールバック構成は必要ありません。
-t
または-T
オプションを使用して構成をテストします。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またはハイパーバイザー制御を使用してリモートサーバーを再起動すると、古い既知の動作構成で再起動します。