4

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

Мое долгое рассуждение ...

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

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

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

3 ответа3

3

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

nano ~/.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
1

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

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

так что вы можете просто набрать connect-clust1-web1, и вы подключитесь.

1

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

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

(так далее)

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

ssh clust-web1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .