ssh – remove offending key.

Whenever a system/server is re-installed or the host key changed for any reason, you would have seen the “host key verification failed”. And as usual you would have to go to known_hosts file and delete the offending key. I will show you 2 simple ways to do this here.

The output that you get in such scenario is:

Offending ECDSA key in ~/.ssh/known_hosts:4

First, you can use sed to directly delete the offending key with a command like this :

sed -i 4d ~/.ssh/known_hosts

So, if you see, we are using “-i” to do the changes inline and using “4d” command to delete the 4th line.

But being on Linux has the advantage that everything can be automated. So, lets do this in simpler way.

We will be using command called xclip for this, so get that intalled.

sudo dnf install xclip

Once that is done, add a alias in your bashrc file like this:

alias ssh-remove-key='a=( $(xclip -o|sed "s,:, ,") ) ; sed -i -e "${a[1]}d" ${a[0]}'

After this is done, whenever you get that error, copy the “<file>:line” portion and execute “ssh-remove-key” and the key is gone from file 🙂

bashrc with lots of functions and useful alias

Here is a link of a useful 10K lines bashrc

http://pastebin.com/LEkXXuST

You may not want to put the whole thing, but get an idea and use what you think can be helpful to you or at-least get an idea. This was not posted by me, so if you are re-using code as is, check the permissions to copy.

Pimp your ls

Here are some of the things that you can do with your ls command.

First off you can use alias\’s to help you type the most typical ls commands. I will give you some examples:

alias ls =\”ls –color –classify\”
alias ls.=\”ls -d .*\”

Very commonly used :

1
2
alias ll="ls -lhvrt"
lsd="ls -lUd */" # List directories only

And after all this you can download the l script from pixelbeat. Quite interesting:

http://www.pixelbeat.org/scripts/l

\"Reblog