Удобно дистанционно управление на линукс конзолата от Windows

.collapse">Съдържание

UPD:Често ме питат защо всичко описано в статията е необходимо. Просто е: 1. Запазване на връзката, когато връзката е прекъсната. Този елемент е най-важен за мен и изигра решаваща роля при създаването на такава система. Факт е, че живея в хостел с много, много нестабилен интернет и връзката ми прекъсва (в лоши дни) може да се случи всяка минута. И putty изисква серия от стъпки за повторно свързване всеки път 2. Запазване на сесия. Често единствената задача при свързване към сървър е да влезете в същата директория и да напишете git pull. За да не помните всеки път пътя до тази директория, трябва да запазите сесията 3. Терминалът поддържа раздели. Най-важното е, че този терминал може да се използва и за cmd, и за PS, и за конзолата git bash. Следователно не е нужно да държите отворени няколко различни терминала. 4. Предимства на tmux: множество прозорци в една сесия и разделени Не споря, някои от това могат да бъдат решени с други средства Как да получите удобен отдалечен достъп до bash от под Windows?

удобно
Рецептата за успех ще включва няколко точки:
  1. Терминал - ConEmu code.google.com/p/conemu-maximus5;
  2. Мениджър на сесии - tmux tmux.sourceforge.net;
  3. Конектор между клиент и сървър - mosh mosh.mit.edu;
  4. Изпълнение на *nix приложения под windows - cygwin www.cygwin.com;

Освен това, за да извършим всички манипулации, се нуждаем от подобен набор от софтуер:

  1. Putty или друг ssh клиент;
  2. Отдалечен сървър (използвам ubuntu на aws, въпреки че няма особено значение).

Каквополучаваме в крайна сметка?

Сега да отидем в подробности.

Конфигурация

Ние ще конфигурираме нашата система на етапи, като започнем с отдалечен сървър. Свързваме се с него чрез ssh и задаваме ...

Tmuxе мениджър на сесии, както се казва, екран на стероиди. tmux вече беше включен в моята дистрибуция и ако не, тогава го инсталираме:

Или изградете от източника:

Много добър начин да стартирате tmux е: tmux прикрепете tmux new - като правите това, първо се опитвате да се свържете към вече съществуващ tmux сървър, ако съществува такъв; Ако все още не съществува, създайте нов.

След това влизате в пълноценна конзола. Ctrl+b d - прекъсване на връзката. (По същия начин ще бъдете прекъснати, ако връзката бъде прекъсната. Вижте по-горе как да се свържете отново и да продължите да работите.)

В една сесия може да има произволен брой прозорци: Ctrl+b c — създаване на прозорец; Ctrl+b 0. 9 — отиване на такъв и такъв прозорец; Ctrl+b p — отиване към предишния прозорец; Ctrl+b n — преминаване към следващия прозорец; Ctrl+b l - отиване към предишния активен прозорец (от който сте преминали към текущия); Ctrl+b & - затворете прозореца (или можете просто да въведете изход в терминала).

В един прозорец може да има много панели: Ctrl+b % — разделяне на текущия панел на две, вертикално; Ctrl+b "- разделя текущия панел на две, хоризонтално (това е цитат, който е близо до Enter, а не Shift+2); Ctrl+b →←↑↓ - превключва между панелите; Ctrl+b x - затваря панела (или можете просто да напишете exit в терминала).

Недостатък - скролирането става необичайно: Ctrl + b PgUp - влизане в "режим на копиране", след което: PgUp, PgDown - скролиране; q - изход от "режим на копиране".

В конфигурацията, която е в

/.tmux.conf, добавете следното:

нов-сесия set-window-option -g mode-mouse on set -g history-limit 25000

Първият ред казва, че когато се опитате да се свържете, ако няма активна сесия, се създава нова. Вторият ред позволява поддръжка на мишката, а третият ред задава размера на историята.

Moshв нашия пакет е система, която гарантира, че връзката е непрекъсната. Когато връзката е прекъсната, програмата изчаква, докато връзката се възстанови и продължава от мястото, където е спряла. Помага и при бавна/нестабилна връзка.

Инсталирайте от източника, за да получите версия, която поддържа всички необходими функции:

Не е необходима специална конфигурация.

Сега да преминем към клиентската страна.

Cygwinе алтернативна реализация на Linux API, която ви позволява да използвате помощни програми на Linux от Windows. Инсталиран от официалния сайт (https://cygwin.com/install.html). Моята версия е x86_64. Изтеглете, инсталирайте. Когато избирате пакети (в допълнение към основните), mosh и ssh трябва да бъдат проверени:

управление

Не е необходима конфигурация.

Последният елемент еConEmu. Страхотен терминал за windows. Поддържа куп функции като:

  1. раздели и разделени екрани;
  2. работа с конзолни приложения, използващи конзолния API;
  3. гъвкава конфигурация и управление;
  4. работа с цветя;
  5. ... и много повече, можете да прочетете повече за този терминал в статията на разработчика.
ConEmu се инсталира от официалния сайт. Изтеглете, инсталирайте (или разопаковайте), стартирайте. При първото стартиране оставете квадратчетата да стоят на мястото си. Отворете настройките с Win+Alt+P. Интересуваме се от елемента Задачи.

Ето как изглежда задачата за стартиране на cygwin:

управление

Създайте такъв предмет за себе си, докато вие,може да се наложи да замените пътя с вашия инсталационен път:

Запазете, затворете настройките, изберете нашия cygwin в падащото меню до знака плюс в горния десен ъгъл. Сега трябва да получим ssh връзка към нашия сървър.

Моята команда изглежда така:

key2014.pemе моят ssh частен ключ за достъп до екземпляра в aws. Може да си струва да копирате от Windows устройството (което е монтирано на /cygdrive) в основната папка.

Следващата стъпка е да се свържете чрез Mosh:

55505е UDP портът, който преди това отворих за входящи връзки в правилата за сигурност в aws admin. Сега всички връзки ще се осъществяват само през него (в допълнение към първоначалното установяване на връзка - минава през порт 22).tmux aе команда, която се изпълнява при свързване към сървъра (прикачване към работеща tmux сесия). Проверява се. Върши работа? Страхотно! Последната задача е да създадете нова задача в ConEmu.

дистанционно

Мисля, че е ясно. Обърнете внимание на наклонените черти преди кавичките. Те разграничават степента на вложеност на кавичките.

Е, може би това е всичко. Сега, когато искаме да се свържем със сървъра, стартираме ConEmu, кликваме върху стрелката до знака плюс и избираме нашата задача.

Допълнение

Друго опростяване, което използвам, е, че добавих всички задачи, които трябва да извикам директно от Totcmd:

Свързване към aws:

стр. S.Приканвам всички, които са прочели тази статия, да направят предложения какво още може да се включи в тази схема. Благодаря за вниманието.