Respuestas:
-o "UserKnownHostsFile /dev/null"
Deberia trabajar.
grep
se fusionará con stdout y stderr; También el estado de salida puede cambiar. Si se usa bash
, será mejor utilizar la sustitución de proceso para deshacerse del mensaje: ssh 2> >( egrep >&2 -v '^Warning: Permanently added') -o "UserKnownHostsFile /dev/null" [...]
. Evitará la tubería y, por lo tanto, los cambios correspondientes en el manejo del estado de salida.
Si desea este comportamiento porque está trabajando con servidores en la nube (AWS EC2, Rackspace CloudServers, etc.) o está aprovisionando constantemente nuevas imágenes en Vagrant, es posible que desee actualizar su configuración SSH en lugar de agregar alias bash o más opciones en el línea de comando.
Considere agregar algo como:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
Tengo ganas de agregar la clave de host a sus conocidos_hosts (las personas que ejecutan estos servicios son, en mi experiencia, al menos lo suficientemente inteligentes como para mantener sus claves de host consistentes entre las máquinas que sirven el mismo nombre de host) y luego activar StrictHostKeyChecking, desactivar CheckHostIP y iniciar sesión con LogLevel ERROR le brindará la mejor experiencia sin sacrificar la seguridad. (De acuerdo, sin CheckHostIP necesita confiar en DNS, que es un gran agujero sin DNSSEC generalizado o algo similar; pero por el momento lo veremos debajo de la alfombra).
Utilizo un archivo de solo lectura conocido_hosts, así que tengo que hacer algo o recibo advertencias interminables sobre no poder agregar entradas a conocido_hosts.
Lo que uso:
Host github.com *.github.com
StrictHostKeyChecking yes
CheckHostIP no
LogLevel ERROR
Me gustaría que estos servicios publiquen sus claves de host SSH en sus sitios web a través de HTTPS, para poder copiarlas explícitamente sin tener que conectarme primero y exponerme potencialmente a un ataque MITM.
yo sugiero
LogLevel ERROR
terminado
LogLevel QUIET
así que aún aparece "No se pudo resolver el nombre de host" y otros errores similares
¿Has intentado deshabilitar StrictHostKeyChecking
? Puede hacerlo con la -o
opción o en el archivo de configuración ~/.ssh/config
.
Encontré las siguientes entradas .ssh / config útiles (LAN con DHCP y DNS):
CheckHostIP no
Host *.*
CheckHostIP yes
El resultado es que los nombres de máquinas locales "zora" o "goron" no verificarán las direcciones IP asignadas dinámicamente, pero www.mycompany.com o node42.planetlab.com aún tendrán sus IP estáticas confirmadas.
grep -v "^Warning: Permanently added"