Постоянно сохраните адреса при использовании SSH

У меня есть несколько удаленных серверов, с которыми я соединяюсь через терминал. Серверы не имеют домена, только IP-адрес, который труден помнить, когда я получил несколько из них.

Существует ли способ постоянно сохранить значения в терминале, так, чтобы я мог сделать следующее?

server1 = 111.222.111.222

И введите команды как:

ssh root@server1

вместо:

ssh root@111.222.111.222
12
задан 6 February 2016 в 11:59

5 ответов

Для соединений SSH можно создать пользовательский конфигурационный файл ~/.ssh/config и поместить отображения туда, например,

Host server1
  Hostname      111.222.111.222

можно легко добавить другие поля такой как Port (для нестандартных портов) и User (полезный, если имя пользователя в удаленной системе отличается от этого в локальной системе). См. man ssh_config для полного изложения.

22
ответ дан 23 November 2019 в 03:27

Конечно, для Вашего конкретного вопроса Вы хотите следовать за @chaos и @steeldriver советами, но в общем случае, чтобы к "постоянно значениям хранилища в терминале", Вы надеетесь окружать переменные. То, как установить их, будет зависеть от Вашей оболочки (я предполагаю echo $SHELL, предоставит релевантную информацию).

, Если "постоянно" Вами означают, "пока я не выхожу из этого терминального сеанса", затем можно просто использовать эти export server1=111.222.111.222 команда, если Вы используете bash - базирующаяся оболочка (setenv server1 111.222.111.222 для csh/tcsh - базирующаяся оболочка, если я помню правильно). Затем можно получить доступ переменной путем добавления префикса его $ В: ssh root@$server1.

, Если "постоянно" Вами означают "каждый раз, я запускаю новый терминал", затем необходимо будет установить переменную в одной из оболочки init файлы. Например, в $HOME/.bashrc для bash - базирующиеся оболочки, или $HOME/.cshrc —, по-видимому, использование того же синтаксиса, как упомянуто в предыдущем абзаце. Обратите внимание, что необходимо будет получить init файл (например, source $HOME/.bashrc или открыть новую оболочку для изменений, которые будут приняты во внимание.

NBВ: Ответьте из памяти, может потребовать некоторых маленьких корректировок.

8
ответ дан 23 November 2019 в 03:27

Не прямой ответ на вопрос (хаос и steeldriver уже обеспечили то, что я думаю, был бы лучшими литеральными решениями), но если Вам только нужно к ssh одному пользователю в одном адресе в большинстве случаев, затем смотря на редактирование .bash_aliases, файл в Вашем корневом каталоге должен быть полезным, поскольку можно создать псевдоним для всей терминальной команды.

1
ответ дан 23 November 2019 в 03:27

Да, просто запишите их в файле /etc/hosts . Это имеет следующий синтаксис:

1.2.3.4 servername additional_servername

, Где:

  • 1.2.3.4 IP-адрес
  • servername, имя
  • additional_servername, дополнительное имя

После сохранения, можно достигнуть сервера его именем.

14
ответ дан 23 November 2019 в 03:27

Определенные ответы очень хороши.

В целом, тем не менее, если Вы хотите иметь некоторые вещи, определил/установил в оболочке, просто запишите сценарий, чтобы сделать это и затем выполнить ее с source или ., когда Вы хотите ту установку в действительности.

, Если это - что-то, которое Вы хотите все время, можно получить его в .profile (для оболочек входа в систему) или в .bashrc для всех оболочек (при использовании удара).

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

0
ответ дан 23 November 2019 в 03:27

Другие вопросы по тегам:

Похожие вопросы: