barp barp - 1 year ago 98
Bash Question

how to check if a host is in your known_host ssh

I have the following command works in my script that adds the host to the known hosts in ssh.

VAR2=$(expect -c '
spawn ssh -o StrictHostKeyChecking=no '"$REMOTE_HOST_USER@$REMOTE_HOST_IP"'
expect "*?assword:*"
send "'"$REMOTE_HOST_PASSWD"'\r"
expect {
"Permission denied, please try again." {

Works fine, but I need to control before the command if the host is already in known_hosts and not execute command if it is already in known_hosts. How can i check if an host is in known_hosts?

Answer Source

Try: ssh-keygen -F <hostname>

Will show the known_hosts line(s) if the hostname fingerprint is found and the command returns 0, otherwise nothing is shown and the command returns 1.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download