Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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." {
 exit '"$WRONG_PASSWORD"' 
 }
 }
 ')

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?

like image 603
barp Avatar asked Aug 27 '12 06:08

barp


1 Answers

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.

like image 140
complex857 Avatar answered Sep 21 '22 15:09

complex857