CH-J Server Managerуправление на сървъри над SSH
Меню
Всички ръководства и статии →

Как да управлявате няколко SSH сървъра едновременно

Поддържайте ред сред няколко сървъра с SSH псевдоними и терминали един до друг и избягвайте изпълняването на команда на грешния сървър.

Дайте ясно име на всеки сървър

Последователната схема за псевдоними пести време и намалява грешките. В ~/.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 портът е недостъпен от вашата мрежа; самият сървър може все още да работи.

Подробна документация

OpenSSH: ssh_config →

Биометрични отключване и сигурност →