Я часто открываю несколько ssh-соединений, чтобы просматривать несколько файлов журнала одновременно с tail -f
.
Когда я дома, это не проблема, потому что я использую шифрование с открытым ключом для входа без пароля. Однако я часто использую для этого компьютер в своем университете, поэтому у меня нет возможности использовать свой закрытый ключ. Становится раздражающим вводить мой пароль 4 или 5 раз, чтобы получить несколько окон терминала.
Как я могу подключить несколько терминалов к одному соединению?
Просто используйте Экран GNU, это здорово, так как вы можете запускать удаленные сеансы и восстанавливать их, если ваше соединение обрывается. Он доступен в виде пакета для большинства дистрибутивов и даже может быть уже установлен в вашей университетской системе.
В руководство даст вам все необходимое для начала работы, по умолчанию всем командам предшествует Ctrl+A
. Например, чтобы вызвать экранную справку, просто нажмите Ctrl+A
затем нажмите ?
screen позволяет иметь несколько терминалов и многое другое (например, возможность отсоединения и повторного подключения к сеансу).
Некоторые примечания, которые помогут вам начать работу:
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 на локальном рабочем столе.
Вы не указываете веских причин, по которым вы не можете использовать закрытые ключи из других систем. Создайте их для каждой машины и добавьте соответствующие ключи в authorized_hosts
Тем не менее, используйте экран.
Вы также можете посмотреть на Byobu. Это улучшенная версия Screen, и я считаю, что это проект Ubuntu. Но он входит в стандартную комплектацию Ubuntu 9.10 и новее.
Я все еще использую Screen, хотя по привычке, но хотел бы упомянуть эту новую альтернативу.
Если вы используете его только для нескольких файлов, вас также может заинтересовать многоцелевой.
Одна не упомянутая функция экрана - «отсоединить» экран, и он будет продолжать выполнять любые команды, которые вы выполняете на этом наборе экранов. После отсоединения экрана вы можете выйти из системы, и все будет продолжаться даже после выхода из системы. Я начну с экрана и затем выполню несколько команд c для создания новых «подэкранов». Я могу переключаться между ними и начать какую-то длительную компиляцию или обработку данных и быть уверенным, что мое дерьмовое VPN-соединение победит, потому что с ним все умрет.
После выхода из системы вы можете снова войти в систему и использовать «screen -R», который повторно подключит вас к существующим сессиям экрана.
Использовать screen
с участием ssh
, тип
ssh -t <user>@<server> screen -r
(источник). человек ssh:
-t Принудительное выделение псевдотерминала. Это можно использовать для выполнения произвольных экранных программ на удаленном компьютере, что может быть очень полезно, например при реализации услуг меню. Несколько параметров -t принудительно выделяют tty, даже если ssh не имеет локального tty.