¿Cómo identificar en qué servidor estás cuando usas ssh desde la terminal?
Tengo que ingresar a 30 servidores diariamente y cambiar de uno a otro constantemente.
Actualmente estoy editando el nombre de la pestaña y escribiendo la dirección IP para saltar de una a otra.
¿Existe una forma automática de hacerlo (asignando la dirección IP del servidor como el nombre de la pestaña)? ¿Alguna otra alternativa que no implique editar un archivo en cada servidor?
command-line
ssh
RASG
fuente
fuente

user@hostnameen el primer host que conecto. Me gustaría ver la dirección IP. Además, si salto deserver1aserver2, la pestaña no cambia los nombres.Respuestas:
Usualmente uso el nombre de host, establecido a través de
$PS1. Sin embargo, si se tomara la molestia, puede comenzar a usar GNUscreeny luego podría definir una función como esta:Explicación:
screenno permite directamente que el shell remoto haga esto, y tiene que personalizarlo para permitirlo, lo que le facilita establecer un título localmente y apegarse a él.echocadena correcta . Es posible que tengas que hacerlo también.screenpara iniciar una sesión con elsshcomando. La sesión finaliza cuando sale el comando.Puede personalizar esto de varias maneras. Por ejemplo, puede guardar los nombres de host e IP en un archivo y leerlo (algo así como el
ssh_config) (y tal vez guardar otras cosas para el título, como nombres de usuario).Ahora usa
ssh-title some.hostpara conectarte. Creo que esta es la única forma de hacerlo sin editar nada del lado del servidor.fuente
Algunas formas de identificar un servidor:
PS1) y título del terminal : inseguro (cualquiera puede duplicarlo) pero simple y práctico.ip address- seguro con una huella digital SSH y más fácil de leer.hostname- inseguro pero muy legible.fuente
Otra opción es usar liquidprompt --- funciona para ambos
bashyzsh, y se puede configurar fácilmente para tener el título del terminal configurado e incluso para colorear en diferentes colores el nombre de host en el indicador:fuente
Esta solución es un poco complicada, pero creo que hará lo que estás buscando. Necesitará
xdotoolewmctrlinstaló para que esto funcione.Primero tiene que editar su
~/.bashrcarchivo porque, por defecto, el terminal restablece su título después de cada línea, lo que hace que los títulos de la línea de comandos sean inútiles.Justo después de:
xterm*|rxvt*)Reemplazar:
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"Con:
PS1="${debian_chroot:+($debian_chroot)}\u@\h \w\a$ "A continuación, crearemos un
sshscript personalizado llamado lo que quieras, pero para esta respuesta llamaré al míotab-ssh. Abra un editor de texto y guarde lo siguiente comotab-ssh:Luego hazlo ejecutable:
chmod +x tab-sshAhora, suponiendo que esté utilizando
bashygnome-terminalejecutando el script, debe abrir una nueva pestaña, cambiarle el nombre e iniciar lasshsesión. Por ejemplo:tab-ssh [email protected]abrirá una nueva pestaña, cámbiele el nombre a
0.0.0.0(es decir, todo lo que sigue al signo "@") y luego ejecute[email protected].Creado usando lo siguiente:
fuente