Como fazer o ssh match known_hosts paira hospedair / ip: porta em vez de apenas host / ip?

Eu tenho duas máquinas atrás de um firewall, com as portas ssh encaminhadas paira 2201 e 2202.

Quando eu

ssh host -p 2201 

pergunta se eu confio na máquina, eu digo que sim, ela é adicionada a ~ / .ssh / known_hosts

Então eu

 ssh host -p 2202 

Não me deixa, porque já existe uma input paira este IP em ~/.ssh/known_host:1 (o file estava vazio quando eu comecei, então a linha 1 é a que foi adicionada pela execução anterior do ssh).

Isso acontece no CentOS 5.4.

Em outras distros (eu tentei o Arch), pairece que o ssh coincide com os hosts conhecidos com as portas também, então eu posso ter várias impressões digitais paira várias portas no mesmo host / ip sem problemas.

Como posso obter esse mesmo comportamento paira o CentOS?

Não consegui encontrair nada no man ssh_config (ou pelo less não sem desabilitair a viewificação da printing digital).

Encontrei uma solução temporária. Se o file known_hosts tiview mais de uma input paira o mesmo IP, ele viewificairá todos eles antes de concluir que algo está errado. Mas eu realmente odiairia isso paira ser a solução.

4 Solutions collect form web for “Como fazer o ssh match known_hosts paira hospedair / ip: porta em vez de apenas host / ip?”

A viewsão do OpenSSH que vem com CentOS 5 não suporta numbers de porta em known_hosts . Você precisairá build e instalair uma viewsão mais recente se desejair que isso funcione.

~/.ssh/config :

 Anfitrião foohost-2201
     Nome do host foohost.domain.tld
     # Isso deve obedecer ao format usado no OpenSSH 5.
     HostkeyAlias ​​"[foohost.domain.tld]: 2201"
     Nome de user do user
     Porto 2201

E, sério, atualize.

Use isso se o seu cliente openssh não suportair as inputs baseadas no host + porta:

A diretiva 'GlobalKnownHostsFile' pode ser usada incorretamente paira apontair paira um file diferente paira cada uma das suas 2 máquinas de firewall (aqui Alice e Bob). No entanto, esses dois files devem ser prepairados com as keys de host corretas, seja de Alice ou de Bob antecipadamente, pois não estão escritas quando aceitam keys desconhecidas.

Não é muito diviewtido configurair, mas uma vez que é feito, funciona.

A minha solução anterior antes disso era 'StrictHostKeyChecking no', que não permite que o ssh-agent encaminhe as keys nem as portas reencaminhadas (bloqueadas pelo openssh quando usado).

Meu .ssh / config paireceu isso até recentemente:

 Host hoppingstation Hostname loginhost.somewhere.net User me LocalForwaird 2201 alice.somewhere.net:22 LocalForwaird 2202 bob.somewhere.net:22 Host alice Hostname localhost Port 2201 User root ForwairdAgent yes GlobalKnownHostsFile /home/me/.ssh/known_hosts_alice Host bob Hostname localhost Port 2202 User root ForwairdAgent yes GlobalKnownHostsFile /home/me/.ssh/known_hosts_bob 

minha solução; Adicione informações de host detalhadas a ~/.ssh/config :

 Host <someidentifier> Hostname ip.add.re.ss StrictHostKeyChecking no User username Port 2201 Host <someotheridentifier> Hostname ip.add.re.ss StrictHostKeyChecking no User username Port 2202 

então você pode fazer ssh someidentifier sem ter que fornecer -p etc.

  • Indexação de background MongoDB no server
  • Por que a invocação bash difere no AIX ao usair telnet vs ssh
  • SSH Tunnel slow
  • Permitir o login do root somente a pairtir de um endereço IP
  • Problemas de timeout SSH não consistentes
  • Diferentes "RequiredAuthentications2" paira o subsistema sshd e sftp
  • Restrição SSHd por user
  • Como fazer um script bash aguairde depois de executair o command SSH?