Seperti yang disarankan Ignatio, ini bisa dilakukan dengan grep -v
.
Berikut adalah contoh yang menghapus kunci yang berisi some unique string
atau hanya menghapus authorized_keys
file ketika tidak ada kunci lain yang tersisa.
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
Ganti some unique string
dengan sesuatu yang hanya ada di kunci yang ingin Anda hapus.
Sebagai oneliner lebih dari ssh ini menjadi
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'
Diuji pada Linux (SLES) dan HP-UX.