Modifica del titolo di una connessione ssh senza modificare le macchine remote

3

È possibile impostare il titolo di una connessione ssh semplicemente cambiando qualcosa sul mio computer locale?

Voglio dire che voglio ubuntu@ip-10-50-10-152 nella seguente immagine per essere cambiato in un nome che mi piace.

E non voglio modificare alcuna impostazione sulla macchina remota.

L'indirizzoIPèdifficiledaricordare,comepossocambiarloconunnomepiùleggibile?

VogliomappareogniindirizzoIPconunnomediverso.

Lemacchineremotenelmiocasosonomolteistanze Amazon EC2 . Alcuni di loro esistono solo per pochi giorni. E il nuovo ec2 s viene creato frequentemente.

Uso iTerm2 come mio terminale macOS. E non ho trovato nessun plug-in che faccia ciò che voglio.

O c'è uno strumento di gestione ssh migliore in grado di visualizzare testo personalizzato sul titolo di una connessione ssh?

    
posta Brian 24.05.2017 - 10:47
fonte

2 risposte

2

Aggiungi quanto segue al tuo ~/.ssh/config :

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

Quindi usa ssh yourname e "yourname" sarà mostrato nella barra del titolo.

    
risposta data 24.05.2017 - 11:04
fonte
1

Il modo migliore (IMO) è impostare le variabili necessarie nel bash_profile della macchina remota. Capisco che tu non voglia modificare nulla sul tuo telecomando, ma è importante notare che ciò che stai facendo è impostare la variabile di ambiente PROMPT_COMMAND

Quando accedi al tuo telecomando, invia il comando echo $HOSTNAME e echo $PROMPT_COMMAND . Più che probabile, otterrai il nome host della tua macchina e il secondo verrà visualizzato in bianco, il che significa che non è impostato.

Impostazione del titolo

Modifica il .bash_profile trovato nella tua home directory sul telecomando. Questo è il tuo file e non influenzerà il resto del sistema. Aggiungi la seguente riga:

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"'

Il 3]0; ( Esc 0; ) è il codice di escape per impostare il titolo. Il ${HOSTNAME} è il nome della tua macchina.

Salva il tuo profilo, disconnettiti e riaccedi e la barra del titolo ora dovrebbe riflettere il tuo nome host.

Connessione tramite nome host vs IP

Ci sono due modi per farlo:

  • Imposta il nome host in DNS
  • modifica il tuo file /etc/hosts locale

Preferisco impostare questo in DNS in modo che il nome sia disponibile per tutti i computer attraverso la rete. Partendo dal presupposto che si dispone di un router "consumer grade" (come Linksys o Netgear), è sufficiente aggiungere il nome host al lease statico DHCP (consultare la documentazione del router per informazioni specifiche)

Se sei su una rete aziendale, l'amministratore di rete può aggiungere un record al server DNS che punta al tuo host.

Se queste due opzioni non sono disponibili, puoi semplicemente modificare il tuo file /etc/hosts locale (sono necessarie le autorizzazioni root . Di seguito è riportato il mio /etc/hosts utilizzato come esempio:

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"'

Ho aggiunto il nome host fatjoe alla fine del file hosts . Quando salgo e esco, se digito ping fatjoe , inizia immediatamente a eseguire il ping dell'IP corretto: la modifica è immediata.

    
risposta data 24.05.2017 - 15:07
fonte

Leggi altre domande sui tag