Чи можу я підключитися до або покинути сеанси ssh?


14

У мене є віртуальний екземпляр запуску redhat, на який я можу, sshз будь-якого хоста корпоративної мережі. Мій sshсеанс був припинений під час виконання деяких сценаріїв, які можуть або не спричинили перерву в роботі. whoКоманда локально по- , як і раніше перераховує відкинутої зв'язку. Повторне з'єднання з sshпочатком нового сеансу. Чи є спосіб підключитися до початкового сеансу? Якщо я не можу це вбити? У мене є кореневий та фізичний доступ. Я не використовував екран у початковому сеансі.

Відповіді:


11

Ви хочете використовувати екран на пульті дистанційного керування, а потім, коли ви повернетесь назад, ви знову підключитесь до цього екземпляра екрана.

але ні, ви не можете підключитися до сеансу ssh сам по собі, вам доведеться використовувати екран (або щось інше на кшталт цього, щоб полегшити це).

Подивіться на це питання хоча б на один варіант та деякі відмінності між ним (tmux) та екраном. прочитавши відповідь на це питання ... я б фактично сказав, що tmux краще

о так, так, ви могли б killпроцес (включаючи роздвоєний баш) зупинити його, ви можете спробувати skillвбити користувача на ім'я, але я підозрюю, що цей користувач має рут ... він може спробувати вбити речі, які він не може.

відповідь було оновлено кілька разів


4

За замовчуванням ви не можете повторно підключитися до покинутого сеансу ssh. Однак ви можете налаштувати процеси в сеансі ssh, до яких ви зможете знову підключитися після відновлення нового сеансу ssh.

Що ви хочете використовувати - це екран або ще краще зручна обгортка навколо екрану під назвою byobu.

Екран дозволяє запускати декілька сеансів віртуального терміналу в одному сеансі ssh. А посібник та довідкові сторінки доступні.

byobu - це обгортка, яка дозволяє легко відкривати нові екрани за допомогою простої функціональної клавіші замість комбінації клавіш із ctrl-a. Він також показує рядок стану з усіма відкритими віртуальними терміналами, які можна назвати.

Ще однією приємною особливістю є той факт, що весь ваш екран може залишатися в режимі спокою, коли ваше ssh-з'єднання відключено. Ви просто знову підключитесь через ssh і подзвоните byobu, і все як раніше.

Нарешті кілька скріншотів byobu.


3

Як згадувалося, екран - це, мабуть, найкраща ставка. Якщо / коли ваш сеанс припинено, він продовжуватиме працювати. Введіть 'screen -list', щоб побачити доступні сеанси, і 'screen -r' із потрібним сеансом. Трохи підказки, ви можете додати вкладку сеансу, а не скопіювати / вставити всю справу.

Однак екран може дратувати. У моєму клієнті ви не можете легко прокрутити вгору, щоб побачити історію в консолі. Він діє дещо інакше, ніж ви очікували. Якщо все, що ви хочете зробити, це переконатися, що ваші довго працюючі програми не загинуть, використовуйте "nohup". Це запобіжить закриття вашої програми, коли ви втратите зв’язок. Переконайтеся, що ви надсилаєте ваш вихідний файл у файл, якщо ви хочете контролювати його. Крім того, якщо у вас є сценарій bash, я думаю, вам потрібно чітко зателефонувати "bash" перед nohup. Приклад...

nohup bash ./myscript.sh> output.log 2> & 1 &

Це означає nohup, щоб запобігти вбиттю proc, bash явно викликати bash, якщо у вашому сценарії є конкретні файли bash, ваш скрипт називається 'myscript.sh' у поточному режимі, файл output.log як файл для надсилання і std, і помилка, а "&" наприкінці, щоб запустити програму у фоновому режимі.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.