Como você deve saber, por padrão, o nome do host de uma instância da AWS é algo como ip-12-34-56-78.us-west-2.compute.internal
, então quando eu ssh para esse host, o nome da guia é alterado para root@ip-12-34-56-78
(um pouco difícil identificar qual é qual).
Como tenho o seguinte no ~/.ssh/config
:
Host mail.domain.com
Hostname 1.2.3.4
User root
Host web.domain.com
Hostname 5.6.7.8
User root
Eu estou querendo saber que existe alguma maneira de alterar o nome da guia para o hostname "alias" do host remoto que eu estou conectado (em vez do hostname "real"):
MinhasconfiguraçõesatuaisdePS1
:
PS1='[\u@\h\W$(__git_ps1" (%s)")]\$ '
Eu tentei adicionar um wrapper ssh em ~/.bashrc
:
ssh() {
echo -ne "3]0;${@: -1}# echo $PS1
[\u@\h \W]\$
7"
exec ssh $@
}
, em seguida, . ~/.bashrc
e teste executando ssh web.domain.com
:
- enquanto conectando : o nome da guia é alterado para
web.domain.com
, conforme esperado
- quando conectado : ele é substituído por
root@ip-5-6-7-8
Por quê? Há algo relacionado a PS1
aqui?
ATUALIZAÇÃO Sex 6 de junho 21:58:04 ICT 2014
Há algo muito estranho acontecendo: parece que isso aconteceu apenas com a instância do AWS. Com outros hosts, o nome da guia permanece após o login.
PS1
na instância do AWS:
~ echo $PS1
\[\]\[\][\[\]\t\[\]] \u\[\]@\[\]\h\[\]\[\]:\[\]\w\[\] \[\]
PS1
nos outros anfitriões:
Host mail.domain.com
Hostname 1.2.3.4
User root
Host web.domain.com
Hostname 5.6.7.8
User root
Eu também tentei definir a variável PS1
na AWS como o valor do host funcional, mas isso não ajudou.