Je dois me connecter à un hôte avec une adresse IP dynamique.
Chaque fois que son IP change, SSH m'invite à valider les empreintes digitales:
The authenticity of host '...' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)?
Serait-il possible de passer SSH la clé publique hôte, de sorte que:
- SSH valide automatiquement l'authenticité de l'hôte
- La clé d'hôte n'est pas stockée dans le fichier known_hosts
Cette question diffère de Comment puis-je éviter la vérification d'hôte SSH pour les hôtes connus? depuis que d' autres questions vise à réprimer la validation de SSH, alors que je ne pas envie de le supprimer: Je ne veux avoir l'hôte authentifié, tout en utilisant la clé publique de l'hôte (que je connais, et l' ont stocké dans un fichier) plutôt que SSH known_hosts
fichier.
Pour moi, l'autre question semble être de se connecter à un serveur différent à chaque fois, plutôt que de se connecter à un seul serveur bien connu avec une adresse IP dynamique.
la source
HostKeyAlias
valeur de configuration à votre~/.ssh/config
fichier ou même au/etc/ssh/ssh_config
fichier global .Le
known_hosts
fichier n'est pas seulement la clé, il contient également le nom d'hôte que vous utilisez pour vous connecter, et si possible l'IP qui correspond. C'est pourquoi vous voyez l'erreur, c'est la comparaison du triplet qu'il obtient du serveur avec ce que vous avez stocké dans le fichier known_hosts.Donc, si l'IP continue de changer, vous pouvez désactiver
CheckHostIP
et cela signifie qu'il vérifiera simplement le nom d'hôte et la clé d'hôte. Si ceux-ci restent inchangés, vous devriez avoir moins de plaintes, mais vous serez à risque si quelqu'un détourne votre DNS.la source
known_hosts
. Pourquoi? Je ne peux pas dire "ssh connect to X dont la clé publique est Y"? Pourquoi pas? Ce ne serait pas sûr à 100%.