J'ai un ordinateur portable et plusieurs réseaux que je visite. Lorsque je suis sur le réseau Alpha, je veux ssh 192.168.1.10
qui est un serveur web. Quand je suis sur le réseau Bêta, je veux ssh 192.168.1.10
qui est un serveur de fichiers.
Parce que je visite deux différents machines avec le même IP, je reçois la grande bannière
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Mais tout ce qui se passe réellement, c'est que je suis sur un réseau privé différent, donc le contexte de mon ssh
est différente.
Je sais que je peux faire ssh -o StrictHostKeyChecking=no
et contourner la vérification, mais existe-t-il un moyen de continuer à vérifier (j'aimerais savoir si l'un des hôtes a effectivement changé) mais en tenant compte du réseau ?
0 votes
Pas assez de détails pour proposer une solution spécifique, mais certains systèmes permettent l'exécution de scripts lors de la connexion à un réseau. Dans votre cas
known_hosts
pourrait être un lien symbolique vers une base de données par réseauknown_hosts
et un script changerait le lien lors de la connexion à un réseau.0 votes
IMO, votre commentaire est suffisant comme solution. Si vous me citez un ou deux systèmes de ce type, cela pourrait m'aider à trouver des outils similaires, mais en me suggérant simplement de les échanger.
known_hosts
Je vois comment je pourrais écrire mon propre script.0 votes
De quels détails auriez-vous besoin pour proposer une solution spécifique ?
0 votes
Par exemple, pour netplan et networkd-dispatcher, voir gitlab.com/craftyguy/networkd-dispatcher . Comme les réseaux ne sont pas nommés, vous devrez peut-être utiliser une astuce, comme la saisie de l'adresse mac de la passerelle par défaut. S'il s'agit d'un réseau sans fil, vous pouvez utiliser l'ESSID.