IptablesまたはSSH over SSHを構成していて、データセンターが数千キロも離れている(そして誰かにKVMを接続する)のは難しい)場合、自分をロックしないようにするための標準的な方法は何ですかでる?
同様の質問がありました ロックアウトされることなくSSH経由でiptablesを設定しますか?
私は前の質問で与えたヒントをここに投稿します:
1)古いiptables構成ファイルをバックアップします。
cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
2)新しい設定を試す前に、次のコマンドを実行して、新しい設定の何かがロックアウトした場合に接続できることを確認します(基本的に、5分後に古いルールが置き換えられます)。
echo "mv /etc/sysconfig/iptables.bak /etc/sysconfig/iptables && service iptables restart" | at now + 5min
3)これで、iptablesルールを安全に変更できます。問題が発生した場合は、5分以内に再接続できます。
SSH構成を変更する必要がある場合(例:/etc/ssh/sshd_config
:セッションを別の端末で開いたままにします。これは通常は開いたままですが、もちろん、SSH構成に関する@shardanの投稿と同様のトリックを使用できます。
アクセス権があることを確認する別の方法は、リモートサーバーでsshの-Rフラグを使用することです。
/usr/bin/ssh -R 55555:localhost:22 [email protected]
Your.otherserver.comから、次を使用してリモートマシンにログインできます。
ssh localhost -p 55555
5分以上ロックアウトされないようにするには、リモートサーバーで次のシェルスクリプトを実行するcronジョブを実行します。
#! /bin/sh
GREPSSH=$(ps ax|grep serverkey|awk -F ' ' '{print $1}')
if [ "$GREPSSH" -eq NULL ]
then
echo "no sshlink \n"
/usr/bin/ssh -nNT -i ~/.ssh/serverkey -R 55555:localhost:22 -o ServerAliveInterval=60 -o ExitOnForwardFailure=yes [email protected] &
else echo $GREPSSH
exit 1
fi
このスクリプト:
これはリモートマシンに戻るための便利なツールであることがわかりました:〜)