# offending key aus known_hosts löschen
Welcher Linux-Admin kennt es nicht. Ein Server wurde neu installiert oder der SSH-Hostkey hat sich geändert und jetzt wird beim Versuch sich einzuloggen folgende Meldung angezeigt:
```
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
1a:d4:e6:4f:1a:4f:61:ef:bc:b8:37:a3:22:d9:70:40.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:898
RSA host key for meinserver has changed and you have requested strict checking.
Host key verification failed.
```
Um sich nun wieder mit dem Ziel verbinden zu können, muss der alte Hostkey aus der known\_hosts Datei entfernt werden. Die einfachste Methode ist mit einem kleinen Helper-Script:
- ```
#!/bin/bash
# 2010 Oliver Voelker
#
# delete the given line number from ~/.ssh/known_hosts
#
if [ ${1} -gt 0 ]; then
echo "Deleting line ${1} from ~/.ssh/known_hosts"
sed -i "${1}d" ~/.ssh/known_hosts
else
echo "Clear from ~/.ssh/known_hosts"
echo "Usage: ${0} "
fi
exit 0
```
Einfach in ~/bin oder /usr/local/bin ablegen. Beim Aufruf des Scripts einfach die angemeckerte Zeilennummer angeben (z.B. „ck 898“) und die betreffende Zeile wird aus der Datei gelöscht.
Sollte euer Sed keine -i Option besitzen, kann die Zeile etwa auch durch Perl entfernt werden:
```
perl
-ni
-e ‘
print if ($. != 898);’
~/.ssh
/known_hosts
```
Alternativ über den VI-Editor:
```
vi +898d +x ~/.ssh/known_hosts
```
und es gibt sicherlich noch viele weitere Methoden da draußen ;)