-o "UserKnownHostsFile /dev/null"
deve funcionar.
Eu quero me conectar a um host via SSH, mas não quero que o nome do host seja adicionado ao meu ~/.ssh/known_hosts
.
Como posso fazer isso?
Se você quiser esse comportamento porque está trabalhando com servidores em nuvem (AWS EC2, Rackspace CloudServers etc.) ou está constantemente provisionando novas imagens no Vagrant, convém atualizar sua configuração de SSH em vez de adicionar aliases de bash ou mais opções na linha de comando.
Considere adicionar algo como:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
Tenho a sensação de adicionar a chave do host ao seu known_hosts (as pessoas que executam esses serviços são, na minha experiência, inteligentes o suficiente para manter as chaves do host consistentes entre as máquinas que usam o mesmo nome de host) e ativando o StrictHostKeyChecking, desativando O CheckHostIP e o registro em log com o LogLevel ERROR proporcionam a melhor experiência sem sacrificar a segurança. (Ok, sem o CheckHostIP você precisa confiar no DNS, que é um enorme buraco sem DNSSEC ou algo parecido; mas vamos varrer isso para baixo do tapete por enquanto).
Eu uso um arquivo known_hosts somente leitura, então tenho que fazer alguma coisa ou recebo avisos intermináveis sobre não ser possível adicionar entradas a known_hosts.
O que eu uso:
Host github.com *.github.com
StrictHostKeyChecking yes
CheckHostIP no
LogLevel ERROR
Gostaria que esses serviços publiquem suas chaves de host SSH em seus sites via HTTPS, para que eu possa copiá-los explicitamente sem ter que se conectar primeiro e me expor potencialmente a um ataque MITM.
Sugiro
LogLevel ERROR
mais de
LogLevel QUIET
para que você ainda receba "Não foi possível resolver o nome do host" e outros erros desse tipo
Para uma única sessão ssh, use isso
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host
Você já tentou desativar StrictHostKeyChecking
? Você pode fazer isso com a opção -o
ou no arquivo de configuração ~/.ssh/config
.
Eu encontrei as seguintes entradas .ssh / config úteis (LAN com DHCP e DNS):
CheckHostIP no
Host *.*
CheckHostIP yes
O resultado são nomes de máquinas locais "zora" ou "goron" não verificarão endereços IP atribuídos dinamicamente, mas www.mycompany.com ou node42.planetlab.com ainda terão seus IPs estáticos confirmados.