Вы уже упомянули ssh, vim и wget, которые необходимы и идеальны. Некоторые дополнительные инструменты, которые могут облегчить жизнь:
1. Экран GNU / Бёбу
«GNU Screen - это бесплатный мультиплексор терминала, который позволяет пользователю получить доступ к нескольким отдельным сеансам терминала внутри одного окна терминала или сеанса удаленного терминала. Это полезно для работы с несколькими программами из командной строки и для отделения программ от оболочки, которая была запущена программа." (Со страницы GNU_Screen в википедии)
Основным преимуществом является то, что у вас может быть один или несколько виртуальных терминалов, которые находятся в том же состоянии, в каком вы их оставили, когда вы вернетесь (т.е. повторно войдите через ssh). Это также хорошо, когда ваше соединение по какой-то причине разрывается.
Экран работает независимо от программного обеспечения, которое вы используете для подключения к устройству (оно живет на сервере), поэтому оно хорошо сочетается с замазкой или большинством других терминальных программ.
В этой статье показаны некоторые приятные вещи, которые вы можете с этим сделать: http://www.pastacode.de/extending-gnu-screen-adding-a-taskbar/en/
Хорошей альтернативой является byobu, который хорошо настроен в некоторых дистрибутивах: http://byobu.co/
2. Полуночный командир
Консольный графический инструмент для просмотра и управления файлами и каталогами.
Может также делать безопасные дистанционные переводы. Есть встроенный FISH и FTP клиент.
Это означает, что у вас есть 2 текстовых окна бок о бок в консоли командной строки, и одно показывает ваше удаленное окно, а другое - где бы вы ни подключались (это также может быть ваша локальная система). Затем вы можете перемещаться по обеим файловым системам рядом и отмечать или исследовать отдельные файлы или древовидные файлы, а также копировать или перемещать их между местоположениями. РЫБА безопасна, FTP нет. Очень мощный и простой для начинающих.
3. rsync
Для быстрой, безопасной и надежной передачи файлов и синхронизации между различными местами
4. VCS
Использование распределенной системы контроля версий, такой как Bazaar, Mercurial или Git, для обновления кода. Github или Bitbucket предлагают коммерческий хостинг кода, но это не обязательно, вы также можете эффективно использовать его на своих компьютерах.
Джозеф Керн: не могли бы вы рассказать, как именно вы используете git для организации удаленного конфигурирования?
5. Терминальные клиенты
В Unix-подобных системах они уже есть, в Windows вы можете использовать Putty, Tera Term, Mind Term или Pandora. Или сделайте установку cygwin и ssh от окон cygwin terminel до удаленных блоков (что имеет больше преимуществ, но это вопрос того, что вы предпочитаете).
6. Туннелирование и переадресация портов
Это может быть полезно для безопасной переадресации определенных портов на локальный компьютер. Например, вы можете переслать порт mysql TCP 3306 или postgres TCP 5432 и установить какой-либо инструмент администрирования базы данных локально.
Вы можете строить туннели из машин Windwos с помощью putty (или командной строки, основанной на его младшем брате), с помощью cygwin и Mindterm также может выполнять переадресацию портов. Если вы находитесь на unix-подобной машине, вы можете использовать ssh odr plink для создания такого туннелирования.
Для создания более стабильного и постоянного туннелирования для различных портов я рекомендую OpenVPN. Метод туннелирования «pre-shared-key» от точки к точке не так сложен в установке.
7. Иметь локальную Unix-подобную систему
Когда ваш локальный компьютер - Mac, у вас это уже есть, вы можете открыть локальную оболочку. Если ваша рабочая станция работает под управлением Windows, может быть полезно создать локальный Unix-подобный сервер, который находится в той же локальной сети. Это может быть другой компьютер в другой комнате, подключенный к тому же маршрутизатору или коммутатору. Или, если вам нужна только одна машина, вы можете установить бесплатный сервер VMware и создать виртуальную машину, предпочтительно ту же операционную систему, что и ваша удаленная машина. Установите на нем сервер samba, и вы сможете «использовать по сети» общие ресурсы samba со своего рабочего стола.
Если вы используете ssh-сервер на локальном сервере и открыли для него порт 22 на своем маршрутизаторе, вы можете подключиться к ssh в вашей локальной системе, когда вы находитесь снаружи.
С помощью rsync вы можете создавать туннели для удаленных компьютеров или передавать и синхронизировать файлы и целые файловые деревья. Вы можете использовать его для тестирования, для VSC, для локальной разработки, в качестве локального веб-сервера, в учебных целях.
Вы можете получить резервные копии с удаленных машин. Вы можете создавать локальные задания cron, которые автоматически создают резервные копии (например, базы данных, которые вы хотите регулярно сохранять локально)
8. X Remote GUI
Если вы физически работаете в Linux, как система, вы также можете запускать приложения GUI на ваших серверах Linux, которые рисуют графический интерфейс на вашем локальном компьютере. Это может быть графический инструмент сравнения файлов или почти все, что вы хотите.
Хотя это не очень распространено и в некоторых случаях нет необходимости использовать программное обеспечение с графическим интерфейсом для администрирования 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 предлагает виртуальные машины Linux с очень интересными возможностями. Вы можете быстро развернуть большие кластеры виртуальных машин с помощью таких инструментов, как RESTful API, интерфейс командной строки и веб-консоль. Вы также можете использовать такие инструменты, как RightScale и Scalr для автоматического управления развертыванием .