ssh known_hosts azonosítás

A "házi" felállásomban van egy OpenWrt -s router és egy Debian Squeeze szerverke (amolyan mindenes az irodában).
A router ssh portját az 20022 irányítottam ki a wan felé a szerver pedig a 30022 porton űl a wan felé.
Vidéki remote router - szintén OpenWrt - ssh -val csatlakozom, hol ehhez hol ahhoz, viszont a "házi" felállás egy freedns -en, fut tovis-lab.valami.org
Így mindig a "known_hosts" fájlban az utóljára "látogatott" host "ujjlenyomata" van, ha a másikat akarom akkor az ssh beint, hogy gázos az azonosítás, törölnöm kell a "known_host" -ból.
Az ssh úgy tűnik nem tesz különbséget a portok között :(
Tud valaki erre valami épkézláb megoldást?
A relézés nem tűnik szimpatikusnak.

Hozzászólások

Az ssh_config manual-jában van a következő három opció, ami jó lehet Neked:

1) CheckHostIP
If this flag is set to ''yes'', ssh(1) will additionally check the host IP address in the known_hosts file. This allows ssh to detect if a host key changed due to DNS spoofing. If the option is set to ''no'', the check will not be executed. The default is ''yes''.

2) HostKeyAlias -ez kell Neked leginkább-
Specifies an alias that should be used instead of the real host name when looking up or saving the host key in the host key database files. This option is useful for tunneling SSH connections or for multiple servers running on a single host.

3) StrictHostKeyChecking
If this flag is set to ''yes'', ssh(1) will never automatically add host keys to the ~/.ssh/known_hosts file, and refuses to connect to hosts whose host key has changed. This provides maximum protection against trojan horse attacks, though it can be annoying when the /etc/ssh/ssh_known_hosts file is poorly maintained or when connections to new hosts are frequently made. This option forces the user to manually add all new hosts. If this flag is set to ''no'', ssh will automatically add new host keys to the user known hosts files. If this flag is set to ''ask'', new host keys will be added to the user known host files only after the user has confirmed that is what they really want to do, and ssh will refuse to connect to hosts whose host key has changed. The host keys of known hosts will be verified automatically in all cases. The argument must be ''yes'', ''no'', or ''ask''. The default is ''ask''.

Ha a CheckHostIP és a StrictHostKeyChecking marad is a default-on (maradhat, az a biztonságos(abb)), a HostKeyAlias-t érdemes kitöltened minden egyes érintett szerverre vonatkozóan, és olyan nevet fog neki adni az ssh a known_hosts-ban, amikor először csatlakozol hozzá.

(Ezek az opciók a 22-es Fedorában és a 14.04-es Ubuntu-kban lévő openssh-client-ben már biztosan használhatóak, legalábbis a man-okban benne vannak.)

Az ssh úgy tűnik nem tesz különbséget a portok között :(

Nálam tesz.

Nálam ilyenek kerültek az ssh_known_hosts-ba (nyilván én raktam össze egy sorba a hostname/FQDN/IP verziókat):
[gw]:226,[gw.domain.hu]:226,[1.2.3.4]:226 ssh-ed25519 AAAAAAAAAAAAAAAAAAAA
[gw]:227,[gw.domain.hu]:227,[1.2.3.4]:227 ssh-ed25519 BBBBBBBBBBBBBBBBBBBB

És szépen működik is.
Ezen felül az ssh_config-ban is benne van a default port, úgyhogy még azt sem kell mindig megadni:

Host 1.2.3.4
  Port 226

Host gw.domain.hu
  Port 226

Host gw
  Port 226