Cambiar el título de una conexión ssh sin modificar máquinas remotas

3

¿Es posible establecer el título de una conexión ssh simplemente cambiando algo en mi máquina local?

Quiero decir que quiero que ubuntu@ip-10-50-10-152 en la siguiente imagen cambie a un nombre que me gusta.

Y no quiero cambiar ninguna configuración en la máquina remota.

LadirecciónIPesdifícilderecordar,¿cómopuedocambiarlaaunnombremáslegible?

QuieroasignarcadadirecciónIPaunnombrediferente.

Lasmáquinasremotasenmicasosonmuchasinstanciasde Amazon EC2 . Algunos de ellos solo existen por unos días. Y los nuevos ec2 s se crean con frecuencia.

Utilizo iTerm2 como mi terminal macOS. Y no pude encontrar ningún complemento que haga lo que quiero.

¿O hay una mejor herramienta de administración de ssh que puede mostrar texto personalizado en el título de una conexión ssh?

    
pregunta Brian 24.05.2017 - 10:47

2 respuestas

2

Agregue lo siguiente a su ~/.ssh/config :

Host yourname
    HostName server.example.com
    Port 22
    User root

Luego, use ssh yourname y "su nombre" se mostrará en la barra de título.

    
respondido por el grg 24.05.2017 - 11:04
0

La mejor manera (IMO) es establecer las variables necesarias en su bash_profile de su máquina remota. Entiendo que no desea modificar nada en su control remoto, pero es importante tener en cuenta que lo que está haciendo es configurar la variable de entorno PROMPT_COMMAND

Cuando inicie sesión en su control remoto, ejecute el comando echo $HOSTNAME y echo $PROMPT_COMMAND . Lo más probable es que obtenga el nombre de host de su máquina y el segundo aparecerá en blanco, lo que significa que no está configurado.

Configurando el título

Edite su .bash_profile encontrado en su directorio de inicio en el control remoto. Este es el archivo su y no afectará al resto del sistema. Agregue la siguiente línea:

PROMPT_COMMAND='echo -ne "3]0;${HOSTNAME}
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
192.168.10.22   fatjoe
7"'

El 3]0; ( Esc 0; ) es el código de escape para establecer el título. El ${HOSTNAME} es el nombre de su máquina.

Guarda tu perfil, cierra sesión y vuelve a iniciar sesión y tu barra de título ahora debe reflejar tu nombre de host.

Conexión vía nombre de host vs IP

Hay dos formas de hacer esto:

  • Establecer el nombre de host en DNS
  • modifique su archivo /etc/hosts local

Prefiero configurar esto en DNS para que el nombre esté disponible para todas las computadoras en su red. Suponiendo que tiene un enrutador de "grado de consumidor" (como Linksys o Netgear), solo tiene que agregar el nombre de host a su arrendamiento estático DHCP (consulte la documentación de su enrutador para obtener información específica)

Si estás en una red corporativa, el administrador de red puede agregar un registro al servidor DNS que apunta a tu host.

Si esas dos opciones no están disponibles, simplemente puede editar su archivo local /etc/hosts (necesita permisos root . A continuación se muestra mi /etc/hosts usado como ejemplo:

PROMPT_COMMAND='echo -ne "3]0;${HOSTNAME}
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
192.168.10.22   fatjoe
7"'

Agregué el nombre de host fatjoe al final del archivo hosts . Cuando guardo y salgo, si escribo ping fatjoe inmediatamente comienza a hacer ping a la IP correcta, el cambio es inmediato.

    
respondido por el Allan 24.05.2017 - 15:07

Lea otras preguntas en las etiquetas