Управляйте большим количеством открытых ssh сессий к серверам с идентификатором для имени хоста

0
задан 15 January 2011 в 02:14
5 ответов

В первую очередь, необходимо попытаться автоматизировать процесс, таким образом, Вы не выполняете много ssh сессий вручную. To follow up on the xterm -T опция, можно также установить xterm заголовок через Escape оболочки. Я думаю, что большинство терминальных программ поддерживает подобную функцию. См. практическое руководство Заголовка Xterm для деталей. Затем используйте обертку для своей команды ssh, чего-то вроде этого:

#!/usr/bin/bash
if [ x$1 != x ]
then
  remote=$1
else
  read -p "host? " remote
fi
echo -ne "\033]0;$remote\007"
exec ssh $remote

Я проверил, что работы в xterms и в Mac terminal.app, как сказал, что он, вероятно, работает в большинстве терминальных программ, которые эмулируют экс-термин.

2
ответ дан 4 December 2019 в 12:05

xterm имеет флаг-T, который позволяет Вам установить заголовок окна. шпаклевка позволяет Вам установить его в подменю Behavior опций Window.

Принятие хостов пультов ДУ *, отклоняют, можно также установить приглашение ко входу в систему, чтобы быть именем хоста.

В ударе или ksh, делая export PS1="[\u@\h]$ " результаты в чем-то как:

[mazianni@europe] $

2
ответ дан 4 December 2019 в 12:05

Почему не только устанавливают значимые записи CNAME, которые указывают на идентификационное имя хоста типа. Можно затем соединиться через CNAME вместо этого. Если у Вас нет доступа к DNS для этих хостов, Вы могли бы сделать это с Файлом hosts также - который будет работать на любой компьютер, на котором он установлен.

Шпаклевка отобразит то, что Вы раньше соединяли в ее строке заголовка. Не может сказать для XTERM.

С другой стороны, при использовании PuTTY Вы могли бы просто настроить Сессию с именем, которое Вы хотите в строке заголовка (опция Window> Behaviour в меню), ужасное имя хоста/IP-адрес в целевом поле и Ваше предпочтительное имя как имя Сессии. Затем можно нажать на незабываемое имя Сессии, чтобы открыть соединение и иметь заголовок, как Вы хотите.

Вы могли бы также хотеть сделать что-то к .bash_profile для пользователей sshing в том, так, чтобы предпочтительное имя использовалось в подсказке на поле, но Вы сказали, что не могли измениться, что-либо на поле (кажется вероятным, можно изменить собственный профиль хотя).

0
ответ дан 4 December 2019 в 12:05

Другие ответы корректны, но я нахожу, что более полезно иметь хороший сценарий и ярлыки на него.


Я лично использую Ion3 на Debian и имею F4, связанный со следующим сценарием. Ion3 предлагает мне имя хоста:

#!/bin/bash
HOST=$1
x-terminal-emulator -t $HOST -e ssh -l root $HOST

Если Вы хотите ярлык панели, который просит у Вас имя хоста, то создайте ярлык панели, который связывается со следующим сценарием:

#!/bin/bash
HOST=$(zenity --entry --text="Connect to SSH Host")
x-terminal-emulator -t $HOST -e ssh -l root $HOST

Наконец, можно также просто создать сценарий и затем иметь ссылки на тот сценарий, каждого для различного хоста.

#!/bin/bash
HOST=$0
x-terminal-emulator -t $HOST -e ssh -l root $HOST

Затем создайте ссылки, такие как: ln-s ssh-script.sh yourhost.example.com

Вы были бы затем, для каждой такой ссылки, создавать отдельный ярлык рабочего стола/панели.

0
ответ дан 4 December 2019 в 12:05
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}\007"'

Изменит заголовок Вашего Окна терминала Mac OS X к данной строке. Затем можно легко выбрать, какое окно терминала Вы хотите от Меню окна в Терминале.

Если бы $HOSTNAME не определяется, а также Вы хотели бы, можно вставить любую произвольную строку с командой подоболочки, как это:

PROMPT_COMMAND='echo -ne "\033]0;$(cat /etc/my.host.name)\007"'
0
ответ дан 4 December 2019 в 12:05

Теги

Похожие вопросы