Mac OS X Terminal — как назвать SSH-подключения?

Mac OS X Terminal — как назвать SSH-подключения?

Короткий вопрос: я хотел бы узнать, можно ли дать ssh-соединениям «дружественные» имена в терминале?

Мои длинные рассуждения таковы...

У меня есть несколько кластеров серверов, работающих за одним IP-адресом через NAT. Я могу подключиться по SSH к отдельным серверам в каждом кластере с разными номерами портов, например:

ssh clust1 -p 2210
ssh clust1 -p 2220
ssh clust1 -p 2230

В Putty/Windows я бы дал каждому соединению разное имя (clust1-web1,clust1-web2,clust1-web3), но в Терминале я не вижу способа сделать это. Это создает проблему, поскольку я не могу различить сервер, к которому подключаюсь, по имени хоста, а номера портов несколько случайны.

решение1

Запустите это из терминала:

нано ~/.ssh/config

и затем вы можете вставить свои хосты следующим образом:

Host clust1-web1
        Hostname clust1
        User Username
        Port 2210

Host clust1-web2
        Hostname clust1
        User Username
        Port 2220

Затем вы можете подключиться по ssh, просто запустив:

ssh clust1-web1

Для получения полного списка аргументов, которые можно поместить в этот файл, выполните:

man ssh_config

решение2

это не совсем то же самое, но вы можете сохранить каждую команду подключения как псевдоним.

Или, если вы по какой-то причине не можете сделать это таким образом, просто сохраните каждую команду подключения как скрипт оболочки/bashscript, возможно, с именем connect-clust1-web1, и сохраните их в папке, которая также находится в вашем PATH.

поэтому вы можете просто ввести connect-clust1-web1 и вы подключитесь.

решение3

Вы можете настроить псевдонимы в вашем ~/.ssh/config:

Host clust-web1
Hostname clust1.somedomain.tld
Port 2210

(и т. д)

Затем вы можете подключиться к этому хосту по ssh, используя псевдоним:

ssh clust-web1

Связанный контент