На сервере Linux, как вы используете несколько терминалов через одно соединение SSH?
Я часто открываю несколько соединений ssh для просмотра нескольких файлов журнала одновременно с tail -f
,
Это не проблема, когда я дома, потому что я использую шифрование с открытым ключом для входа без пароля. Тем не менее, я часто буду использовать компьютер в своем университете, чтобы у меня не было возможности использовать свой закрытый ключ. Раздражает необходимость вводить мой пароль 4 или 5 раз, чтобы получить несколько окон терминала.
Как я могу получить несколько терминалов через одно соединение?
9 ответов
Просто используйте экран GNU, это здорово, так как вы можете запускать удаленные сеансы и восстанавливать их, если ваше соединение разрывается. Он доступен в виде пакета для большинства дистрибутивов и даже может быть уже установлен в вашей университетской системе.
Руководство даст вам все необходимое для начала работы, по умолчанию все команды начинаются с Ctrl+A
, Например, чтобы вызвать экранную справку, просто нажмите Ctrl+A
затем нажмите ?
Экран позволяет вам иметь несколько терминалов и многое другое (например, возможность отсоединения и повторного подключения к сеансу).
Некоторые заметки, чтобы вы начали:
Ctrl-a c create
Ctrl-a d detach
screen -r reattach
Ctrl-a a toggle
Ctrl-a " list
И некоторые рекомендованные к прочтению:
Взгляните на следующие две статьи о совместном использовании SSH-соединения:
http://fermiparadox.wordpress.com/2008/06/19/ssh-connection-sharing/
http://protempore.net/~calvins/howto/ssh-connection-sharing/
По сути, сделайте поиск в Google по обмену ssh-соединением, и вы найдете множество других статей по нему.
Возможно, вы могли бы использовать перенаправление X, чтобы открыть несколько удаленных xterms на вашем локальном рабочем столе.
У вас нет веских причин, по которым вы не можете использовать закрытые ключи из других систем. Сгенерируйте их для каждой машины и добавьте соответствующие ключи для author_hosts
Тем не менее, используйте экран.
Вы также можете посмотреть на Бёбу. Это улучшенная версия Screen, и я считаю, что это проект Ubuntu. Но это стандартно с Ubuntu 9.10 и новее.
Я все еще использую Screen, хотя по привычке, но хотел бы упомянуть эту более новую альтернативу.
Если все, что вы используете, это отслеживание нескольких файлов, возможно, вас заинтересует мультитейл.
Одной из не упомянутых функций экрана является "отсоединение" экрана, и он будет продолжать выполнять любые команды, которые вы выполняете на этом наборе экранов. После того, как экран отсоединен, вы можете выйти из системы, и все это продолжается, даже после выхода из системы. Я запустлю экран, а затем выполню несколько команд c, чтобы создать новые "подэкраны". Я могу переключаться между ними и запускать какую-то длительную компиляцию или обработку данных и быть уверенным, что мое дрянное VPN-соединение победит, потому что с ним все умрет.
После выхода из системы вы можете снова войти в систему и использовать 'screen -R', который снова присоединит вас к имеющимся снимкам экрана.
Использовать screen
с ssh
, тип
ssh -t <user>@<server> screen -r
( источник). man ssh:
-t Принудительное распределение псевдо-терминалов. Это может использоваться для выполнения произвольных программ на экране на удаленной машине, что может быть очень полезно, например, при реализации сервисов меню. Несколько опций -t заставляют tty выделяться, даже если у ssh нет локального tty.