Дайте каждому серверу понятное имя
Единообразные псевдонимы экономят время и сокращают число ошибок. В ~/.ssh/config объедините адрес, пользователя, порт и ключ каждого сервера под одним именем, включив в него роль и окружение, чтобы рабочую среду было видно сразу. Параметры, не заданные для конкретного хоста, берутся из блока Host *.
Host prod-web-1
HostName 203.0.113.10
User admin
IdentityFile ~/.ssh/id_ed25519_prod
IdentitiesOnly yes
Host test-web-1
HostName 203.0.113.20
User adminНе перепутайте сервер
При работе с несколькими серверами легко ввести команду не в том окне. Показывайте имя хоста в приглашении командной строки, используйте другой цвет приглашения в рабочей среде и перед любыми разрушительными действиями проверяйте, где вы находитесь. Самые опасные шаги выполняйте, когда открыт только один терминал.
hostname -f; whoami; pwdСохраните выполнение длительных задач
Разрыв соединения обычно завершает оболочку и выполняемые в ней команды. Запускайте длительные задачи на сервере внутри tmux или screen, чтобы они продолжали работать и к ним можно было подключиться снова. Клиентский keepalive раньше обнаруживает неработающее соединение, но сам по себе не сохраняет выполнение задачи.
tmux new -s upgrade
tmux attach -t upgradeУзнайте, какие серверы отвечают
Перед началом работы с несколькими серверами проверьте, отвечают ли их порты SSH. Закрытый порт не всегда означает, что сервер не работает: служба могла остановиться или межсетевой экран может блокировать вашу сеть.
for host in prod-web-1 test-web-1; do
ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
doneНесколько серверов в CH-J Server Manager
Профили серверов хранятся в локальном зашифрованном хранилище; одновременно можно открыть несколько сеансов SSH. В Alpha 0.1.1 два терминала располагаются рядом или друг над другом, на одном или двух серверах, а скрытие терминала не завершает его сеанс. Модули автоматически используют единственное соединение и запрашивают выбор, если открыто несколько, поэтому модуль никогда сам не переходит на другой сервер. Блокировка хранилища разрывает сеансы SSH, поэтому сначала завершите текущую работу или оставьте её в tmux.
Доступность с первого взгляда
В Alpha 0.1.1 монитор доступности проверяет сохранённые серверы в фоновом режиме через TCP-соединение с портом SSH, по умолчанию каждые 12 секунд, без входа в систему. Статус «не в сети» означает, что порт SSH недоступен из вашей сети; сам сервер при этом может продолжать работать.