Ви вже згадали ssh, vim та wget, що є важливим та ідеальним. Деякі додаткові інструменти, які полегшать життя:
1. GNU Screen / byobu
"GNU Screen - це безкоштовний мультиплексор терміналу, який дозволяє користувачеві отримувати доступ до декількох окремих сеансів терміналу всередині одного вікна терміналу або сеансу віддаленого терміналу. Це корисно для роботи з декількома програмами з командного рядка та для відділення програм від запущеної оболонки. Програма." (Зі сторінки GNU_Screen у Вікіпедії)
Основна перевага полягає в тому, що ви можете мати один або декілька віртуальних терміналів, які знаходяться в точно такому ж стані, як і ви їх залишили, коли повертаєтесь (тобто переробляти через ssh). Це також добре, коли ваш зв’язок з якихось причин порушений.
Екран працює незалежно від програмного забезпечення, яке ви використовуєте для підключення до коробки (воно живе на сервері), тому він добре поєднується з шпаклівкою або більшістю іншого термінального програмного забезпечення.
У цій статті показано кілька приємних речей, які ви можете зробити з цим: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/
Хорошою альтернативою є byobu, який добре налаштований на деяких дистрибутивах: http://byobu.co/
2. Командир опівночі
Графічний інструмент для перегляду на консолі для перегляду та обробки файлів та каталогів.
Також можна робити безпечні віддалені передачі. Є вбудований FISH та FTP-клієнт.
Це означає, що у консолі командного рядка є два текстових вікна, і одне показує ваше віддалене вікно, а інше куди б ви не підключили його (що також може бути вашою локальною системою). позначте або дослідіть окремі файли або дерева дерев файлів, а також скопіюйте або перемістіть їх між місцями. FISH захищено, FTP - не. Дуже потужний і простий для початківців.
3. rsync
Для швидкої, надійної та надійної передачі та синхронізації файлів між різними місцями
4. ДКС
Використання розподіленої системи контролю версій, як базар, меркурій або git для оновлення коду. Github або Bitbucket пропонують комерційний хостинг коду, але це не обов'язково, ви також можете ефективно використовувати його на власних машинах.
Джозеф Керн: чи можете ви детальніше розказати, як саме ви використовуєте git для організації віддаленої конфігурації?
5. Клієнти терміналу
У unix-подібних системах вони вже є на борту, у Windows можна використовувати Putty, Tera Term, Mind Term або Pandora. Або зробіть інсталяцію cygwin і перейдіть від вікон термінала cygwin до віддалених вікон (що має більше переваг, але це питання, що вам більше подобається).
6. Тунелювання та експедирування портів
Це може бути корисно надійно переслати певні порти на вашу локальну машину. Наприклад, ви можете переслати порт mysql TCP 3306 або postgres TCP 5432 та встановити якийсь інструмент адміністрування баз даних локально.
Ви можете побудувати тунелі з машин Windwos із шпаклівкою (або командний рядок, заснований на маленькому братійному планку); cygwin та Mindterm також можуть переадресувати порт. Якщо ви локально знаходитесь на машині, схожій на unix, ви можете використовувати ssh odr plink для створення такого тунелювання.
Щоб створити більш стабільну і постійну тунелювання для різних портів, я рекомендую OpenVPN. Метод тунелювання "за допомогою загального доступу" від точки до точки встановити не так вже й важко.
7. Мати локальну систему, схожу на Unix
Коли ваша локальна машина є Mac, у вас це вже є, ви можете відкрити локальну оболонку. Коли ваша робоча станція базується на Windows, може бути корисно створити локальний сервер, схожий на unix, який знаходиться в тій же локальній мережі. Це може бути інша машина в іншій кімнаті, підключена до того ж маршрутизатора або комутатора. Або якщо ви хочете лише одну машину, ви можете встановити безкоштовний сервер vmware і зробити віртуальну машину, бажано ту ж операційну систему, що і ваша віддалена машина. Встановіть на нього самба-сервер, і ви зможете "використовувати в Інтернеті" акції samba з робочого столу.
Якщо ви локальний сервер на локальному сервері і відкриєте порт 22 на своєму маршрутизаторі, ви можете запустити ssh у свою локальну систему, коли ви знаходитесь поза.
Ви можете будувати тунелі на віддалених машинах або передавати та синхронізувати файли та цілі дерева файлів за допомогою rsync. Ви можете використовувати його для тестування, для VSC, для місцевого розвитку, як локальний веб-сервер, для навчальних цілей.
Можна витягувати резервні копії з віддалених машин. Ви можете створювати локальні завдання в Cron, які роблять резервні копії автоматично (наприклад, бази даних, які ви хочете регулярно зберігати на локальному рівні)
8. X Віддалений графічний інтерфейс
Якщо ви працюєте в Linux як система фізично, також можна запускати програми GUI на ваших Linux-серверах, які малюють gui на вашій локальній машині. Це може бути інструмент порівняння графічних файлів або майже все, що вам потрібно.
Хоча це не дуже часто і в msot випадках не потрібно використовувати програмне забезпечення gui для адміністрування linux box, у деяких випадках ви можете вважати його корисним.
На віддаленій машині переконайтесь, що в / etc / ssh / sshd_config цей рядок існує:
X11Forwarding Yes
Перезавантажте ssh-сервер за допомогою
/etc/init.d/sshd restart
Потім наступного разу, коли ви ввійдете в систему
ssh -X me@remote-box
У вас буде X тунель, спробуйте встановити xclock на віддалений сервер для тестування та виконати xclock
в сесії ssh, яку я щойно згадував. Простий годинник x для тестування повинен з’явитися на вашому інтерфейсі Linux.
Це також можливо для Mac, якщо ви встановите локальну середовище X.
9. Якщо у вас є купа подібних вікон або завдань: скористайтеся інструментом конфігурації системи
Якщо у вас є ферма серверів або ви робите великі хмарні розгортання з багатьма надлишковими або інакше рівними чи подібними машинами, ви можете використовувати це.
Напевно, це не мало б сенсу, якщо більшість скриньок є індивідуальними або мають різні операційні системи або працюють різні версії.
Є кілька інструментів:
10. Розгорніть контейнери додатків за допомогою docker
Це йде навіть на крок далі. Docker - це проект з відкритим кодом, який автоматизує розгортання програм у контейнерах програмного забезпечення: https://www.docker.io
11. Використовуйте Google Compute Engine з автоматичним управлінням розгортанням
https://cloud.google.com/products/compute-engine/
Google пропонує віртуальні віртуальні машини з дуже цікавими можливостями. Ви можете швидко розгорнути великі кластери віртуальних машин за допомогою інструментів, включаючи API RESTful, інтерфейс командного рядка та веб-консоль. Ви також можете використовувати такі інструменти, як RightScale і Scalr, щоб автоматично керувати розгортанням .