जैसा कि इग्नेशियो ने सुझाव दिया है कि यह किया जा सकता है grep -v।
यहां एक उदाहरण दिया गया है जो कुंजी को some unique stringहटाता है या authorized_keysकोई अन्य कुंजी नहीं रहने पर फ़ाइल को हटा देता है।
if test -f $HOME/.ssh/authorized_keys; then
if grep -v "some unique string" $HOME/.ssh/authorized_keys > $HOME/.ssh/tmp; then
cat $HOME/.ssh/tmp > $HOME/.ssh/authorized_keys && rm $HOME/.ssh/tmp;
else
rm $HOME/.ssh/authorized_keys && rm $HOME/.ssh/tmp;
fi;
fi
some unique stringउस चीज़ से प्रतिस्थापित करें जो केवल उस कुंजी में मौजूद है जिसे आप निकालना चाहते हैं।
Ssh पर एक oneliner के रूप में यह बन जाता है
ssh hostname 'if test -f $HOME/.ssh/authorized_keys; then if grep -v "some unique string" $HOME/.ssh/authorized_keys > $HOME/.ssh/tmp; then cat $HOME/.ssh/tmp > $HOME/.ssh/authorized_keys && rm $HOME/.ssh/tmp; else rm $HOME/.ssh/authorized_keys && rm $HOME/.ssh/tmp; fi; fi'
लिनक्स (SLES) और HP-UX पर परीक्षण किया गया।