SSH удаленное подключение и не теряйте приглашение

Вопрос или проблема

Я устанавливаю SSH-соединение с удаленным сервером и хочу сохранить мой приглашение после подключения, но оставаясь на сервере, возможно ли это? Подробно, при подключении к сервера oracle, запустить sqlplus и остаться на моем приглашении, чтобы я мог выполнять локальные SQL-скрипты. Можно ли сделать этот тип соединения с помощью SSH?

Ответ или решение

Для выполнения удаленного подключения к серверу через SSH, сохраняя локальный командный интерпретатор доступным, действительно существует несколько методов. Это может быть полезно, если вы хотите одновременно работать на удаленном сервере и запускать локальные скрипты, например, с использованием sqlplus для Oracle. В этой статье мы рассмотрим подходы, которые позволят вам достигнуть этой цели.

1. Использование SSH с прямым выполнением команд

Первый метод заключается в использовании команды ssh для удаленного выполнения. Вы можете подключиться к серверу и сразу же запустить sqlplus, что даст вам доступ к удаленному серверу для выполнения SQL-запросов, сохраняя ваш локальный терминал активным и доступным.

Пример команды:

ssh user@remote_server 'sqlplus username/password@database'

Однако стоит отметить, что в таком случае вы будете взаимодействовать только с удаленным интерфейсом sqlplus, и возможности локального терминала будут ограничены в течение этого сеанса.

2. Мультиплексирование терминала с использованием tmux или screen

Для того чтобы параллельно работать с удаленным сервером и поддерживать свой локальный командный интерпретатор активным, вы можете использовать инструменты, такие как tmux или screen. Эти инструменты позволят вам создавать сессии терминала, которые могут быть разделены и повторно использованы.

Установка tmux или screen

Если у вас еще не установлен tmux, выполните следующую команду:

sudo apt-get install tmux

После установки вы можете инициировать новую сессию:

tmux new -s mysession

Подключение к удаленному серверу

Внутри сессии tmux вы можете выполнить команду SSH для подключения к удаленному серверу:

ssh user@remote_server

Запуск sqlplus

После подключения выполните команду для запуска sqlplus:

sqlplus username/password@database

Теперь вы можете работать с sqlplus внутри этой сессии tmux, сохраняя при этом доступ к вашему локальному терминалу. Чтобы вернуться к локальному терминалу, просто нажмите Ctrl+b, затем d, чтобы отсоединить сессию. Вернуться к ней можно, используя:

tmux attach -t mysession

3. Использование SSH-соединения с X11 forwarding

Другой способом, хотя и требующий больше настроек, является использование X11 forwarding для запуска графических приложений. Если у вас включен X11 forwarding, вы можете запускать графические интерфейсы приложений, таких как SQL Developer для Oracle, что также позволит вам выполнять локальные скрипты.

Для этого выполните следующее:

  1. Убедитесь, что у вас установлен X-сервер на локальной машине.
  2. Подключитесь к серверу с использованием опции -X для перенаправления X11.
ssh -X user@remote_server

Затем запускайте нужные приложения, и они будут открываться на вашем локальном экране.

Заключение

Описанные методы позволяют эффективно использовать SSH для работы как с удаленным сервером, так и с локальной рабочей средой. Использование tmux или screen является одним из самых удобных и широко применяемых способов достижения многозадачности в терминале, что по сути решает вашу задачу. Это не только позволяет организовать рабочий процесс, но и делает его более гибким и безопасным в долгосрочной перспективе.

Оцените материал
Добавить комментарий

Капча загружается...