Как сохранить часто используемый SSH-хост для доступа через терминал? [дубликат]

На этот вопрос уже есть ответ здесь:

У меня есть хост, который я часто использую ssh в. Но я не хочу входить в него снова и снова. Должен ли я использовать для этого переменную окружения или есть способ лучше?

Я бы не возражал против обобщенного решения по сохранению часто используемых переменных, существующих вне одного сеанса bash.

25
задан 18 February 2019 в 02:08

5 ответов

Переменные среды в целях связывающейся информации к нескольким командам/процессам, которые Вы запускаете в оболочке, которая управляет, или процессы ожидают быть там в среде. Обычно такие переменные включают опции, такой как LESS переменная, передающая часто используемые опции less пейджер, PERL5LIB для нахождения модулей жемчуга в нестандартных местоположениях, LC_LANG связываться, который язык команда должен использовать для вывода.

Если URL для Вашего собственного использования с определенной командой, используйте псевдоним такой как alias au='firefox https://askubuntu.com или функция такой как open_url(){ firefox "$@" } открыть произвольный URL, который Вы обеспечиваете на командной строке как позиционный параметр к функции.

В определенных случаях такой как ssh, можно определить свойства соединения в конфигурационных файлах, как объяснено в ответе Lekensteyn:

  1. определить ~/.ssh/config файл со следующим содержанием

    Host meh
        HostName meh.example.com
        User admin
        Port 1234
        IdentityFile ~/.ssh/id_rsa
    
  2. использовать ssh meh соединяться с хостом с помощью файла конфигурации.

44
ответ дан 23 November 2019 в 01:10

Я предложил бы комбинировать ответы Sergiy и Lewis для максимальной эффективности лени:

Сначала создайте запись хоста для ssh:

определить ~/.ssh/config файл со следующим содержанием

    Host meh
        HostName meh.example.com
        User admin
        Port 1234
        IdentityFile ~/.ssh/id_rsa

Теперь ssh meh работы, но это могло все еще быть довольно длинно. Существует автозавершение (после того, как ssh[Пробел]), но его все еще очень много для ввода.

Так позволяет, также определяют alias:

Отредактируйте Ваш .bashrc в Вашем локальном корневом каталоге. Добавьте псевдоним как:

alias meh='ssh meh'

Теперь можно соединиться с "meh.example.com" путем простого ввода meh в Вашем окне терминала. Если вместо "meh" Вы хотите использовать более длинную строку, можно на самом деле использовать [Вкладка] ключ к автоматическому заполнению.

Или если Вы действительно ленивы, просто определяете отдельный символ как псевдоним:

alias m='ssh meh'

Так, если Вы, которых тип m и хит Вводят/Возвращают, Ваше соединение SSH, сразу запустите!

7
ответ дан 23 November 2019 в 01:10

Также я предложил бы создать псевдоним.

Отредактируйте Ваш .bashrc (или возможно .profile или подобный файл) в Вашем корневом каталоге. Добавьте несколько псевдонимов как:

alias go='ssh url1'
alias go2='ssh url2'

Затем повторно войдите в систему/повторно подключите и войдите go или go2.

14
ответ дан 23 November 2019 в 01:10

Я обычно просто создаю a .sh который содержит команду ssh. Например:

# file name: mywebsite-live.sh
ssh username@123.123.123.123 # or whatever the domain is.

И затем выполнять его я просто делаю ./mywebsite-live.sh

Я понимаю, что это - вероятно, довольно дрянное решение, но это работает на меня, и надежда состоит в том, что это могло бы работать на кого-то еще также.

3
ответ дан 23 November 2019 в 01:10

Еще одна опция состоит в том, чтобы использовать функции истории оболочки. Вы можете Ctrl-r в ударе и вводить уникальную подстроку прошлого раза Вы ssh'ed к тому месту. Если нет никакой уникальной подстроки, можно просто использовать то, что квалифицирует лучше всего как редкая подстрока, и просмотрите записи истории путем повторного нажатия Ctr-r, пока Вы не добираетесь до него. Например, Вы могли бы ввести Ctrl-r и "обезьян" или "codemonkeys" или "odemon" или "kong" и добраться

ssh kong@codemonkeys.some-server.com

от последнего, и надо надеяться только время Вы ввели то целое.

С функциями истории оболочки нет действительно никакой причины ввести любую долгую команду несколько раз.

5
ответ дан 23 November 2019 в 01:10

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

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