выйдите из всех соединений SSH в одной команде и закройте PuTTY

Есть ли способ отступить от всех соединений SSH и закрыть PuTTY в «одном выстреле»? Я работаю в Windows 7 и использую PuTTY для SSH для различных хостов Linux.

Пример того, как я себя работаю:

SSH to host1 with PuTTY... banjer@host1:~> #...doin some work...ooh! need to go check something on host8... banjer@host1:~> ssh host8 banjer@host8:~> #...doin some work...OK time for lunch. lets close putty... banjer@host8:~> exit banjer@host1:~> exit Putty closes. 

Наверху, любой способ получить от host8 до закрытия PuTTY одним выстрелом? Иногда я нахожусь до 5 или 10 хостов глубоко. Я понимаю, что я могу щелкнуть X, чтобы закрыть окно PuTTY, но мне нравится, чтобы мои соединения SSH закрывались должным образом, используя команду exit. Я также понимаю, что я прошу советов о том, как увеличить лень. Я просто напишу это как «как я могу быть более эффективным».

6 Solutions collect form web for “выйдите из всех соединений SSH в одной команде и закройте PuTTY”

Попробуйте использовать escape-последовательность завершения ssh .

В сеансе ssh введите ~. (тильда). Вы не увидите символов при вводе их, но сеанс немедленно прекратится.

 $ ~. $ Connection to me.myhost.com closed. 

От man 1 ssh

 The supported escapes (assuming the default '~') are: ~. Disconnect. ~^Z Background ssh. ~# List forwarded connections. ~& Background ssh at logout when waiting for forwarded connection / X11 sessions to terminate. ~? Display a list of escape characters. ~B Send a BREAK to the remote system (only useful for SSH protocol version 2 and if the peer supports it). ~C Open command line. Currently this allows the addition of port forwardings using the -L, -R and -D options (see above). It also allows the cancellation of existing remote port-forwardings using -KR[bind_address:]port. !command allows the user to execute a local command if the PermitLocalCommand option is enabled in ssh_config(5). Basic help is available, using the -h option. ~R Request rekeying of the connection (only useful for SSH protocol version 2 and if the peer supports it). 

Просто нажмите Ctrl D, и он выберет вас там для удержания ctrl и нажмите «d», пока окно не исчезнет.

Просто закройте PuTTY. ( Alt + F4 по умолчанию IIRC.)

Другой способ – сделать function для ssh :

  function ssh(){ /usr/bin/ssh $@ ; exit ; } 

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

Обратите внимание, что вам нужна такая функция на всех ваших серверах, иначе этот хак не будет работать. Btw вы всегда можете поместить функцию в ~ / .bashrc или ~ / .whatever_shell_you_use_rc.

Это выглядит немного грязным взломом по сравнению с тем, что у Утер.

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

Сценарий: myssh.sh

 #!/bin/bash ssh $1 if [ $? -eq 5 ]; then exit 5 fi 

Вызов через команду dot:

 $ . myssh user@server.com 

Если вы хотите выйти из одного уровня:

 $ exit 

Если вы хотите выйти из всего:

 $ exit 5 

Или вы можете использовать exec для замены процесса оболочки ssh при переходе на другой хост:

 SSH to host1 with PuTTY... banjer@host1:~> #...doin some work...ooh! need to go check something on host8... banjer@host1:~> exec ssh host8 banjer@host8:~> #...doin some work...OK time for lunch. lets close putty... banjer@host8:~> exit Putty closes. 

5 уровней недостаточно, так как трафик пройдет через все остальные серверы. Из-за этого я не рекомендую просто убивать PuTTY или ssh (~.), Поскольку (в зависимости от того, что вы делаете) это может привести к сиротским процессам на серверах.

Лучше попробовать и быть менее «ленивым». Щелкните правой кнопкой мыши на панели заголовков puttys, чтобы быстро открыть новый сеанс. Если у вас есть сервер «по умолчанию» и вы принимаете 1 переход от этого, функция «Дублировать сеанс» очень полезна. Особенно при использовании проверки подлинности с помощью панели.

  • Двойная загрузка windows / debian, нет меню загрузки?
  • Как получить Windows на меню grub? Использование двух жестких дисков; Сначала загрузочный загрузчик Windows
  • Нет звука в Linux Mint после двойной загрузки Windows 8
  • Как решить адаптер не поддерживает проблему режима AP (мастер)?
  • на моем macbook pro linux OS gparted отличается от того, что blkid говорит о типе раздела
  • Можно ли игнорировать скрытые файлы Windows?
  • GRUB не будет показывать на всех - Windows 8.1 и Linux Mint
  • Как настроить сменные гостевые / хосты VM
  • Двойные окна загрузки и Linux
  • Почему «ln -s / directory» D: «Работает так, как есть?
  • Изменение разрешений CIFS на FreeNAS?
  • Interesting Posts

    Экран GNU: у вас нет ни используемых сокетов, ни используемых труб

    Будет ли сценарий оболочки выполнен в Solaris? если нет, то это самый быстрый способ сделать его совместимым

    Является ли флаг «-silent» подавленным предупреждениями или ошибками или просто предупреждениями?

    Создать новое имя для перемещенного файла, чтобы предотвратить перезапись?

    Как добавить номер версии в настраиваемое ядро ​​и rootfs?

    Невозможно отформатировать HDD и установить Linux на гибридный ультрабук Dell

    Почему ubuntu так медленно работает на SD-карте?

    Прочитайте середину большого файла

    Есть ли способ настроить TCP на потерю пакетов и повторную передачу?

    Как я могу извлечь китайские символы из текста

    Получение Linux-компьютера, интегрированного с доменом Windows

    Мониторинг ввода / вывода памяти GPU

    Нужна помощь с скриптом оболочки, используемым для работы cron

    Как планировщик Linux определяет, связан ли процесс с привязкой ввода / вывода или привязана к процессору

    Как я могу заставить свою Linux-систему широковещать свой IP-адрес динамически?

    Linux и Unix - лучшая ОС в мире.