जैसा कि इग्नेशियो ने सुझाव दिया है कि यह किया जा सकता है 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 पर परीक्षण किया गया।