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.

  • SSH - 1s penduram em "Iniciando session interativa" (Não DNS, possivelmente relacionado ao SELinux)
  • Qual é a maneira correta de scp'ing entre dois serveres que você faz logon por key privada?
  • Native Symlink Windows 2008 r2 com cygwin
  • A authentication de key pública SSH crash quando UsePAM está configurado paira "não"
  • Não é possível o ssh paira o sistema remoto depois de ativair o IPSec
  • Como vinculair múltiplos túneis SSH juntos no Linux
  • Como posso atrasair o login do sshd depois de uma senha incorreta
  • Autenticação de key SSH usando LDAP