Несколько подобных записей в конфигурации ssh

У них есть та же цель и функциональность. Каждая версия UNIX/Linux обработает эти каталоги по-другому. Исторически, перед появлением основанных на RAM/подкачке файловых систем, у Вас были бездисковые системы где / и /usr файловые системы были бы только для чтения и /var (переменная) была бы чтением-записью. /tmp имя было бы символьной ссылкой на /var/tmp. Позже, бездисковые системы упали из стиля, дисковое пространство стало более дешевым (чтобы иметь большие корневые файловые системы), и технология допускала файловые системы, смонтированные из памяти вместо диска. /var/tmp каталог упал из стиля, но все еще используется некоторыми программами.

В эти дни, больше безопасности настраиваются по умолчанию на /tmp, как g+s,+t полномочия, но не на /var/tmp. Кроме того, /var/tmp редко монтируется от RAM или подкачки.

199
17.01.2013, 20:47
5 ответов

От ssh_config(5) страница справочника:

 Host    Restricts the following declarations (up to the next Host key‐
         word) to be only for those hosts that match one of the patterns
         given after the keyword.  If more than one pattern is provided,
         they should be separated by whitespace.

...

 HostName
         Specifies the real host name to log into.  This can be used to
         specify nicknames or abbreviations for hosts.  If the hostname
         contains the character sequence ‘%h’, then this will be replaced
         with the host name specified on the commandline (this is useful
         for manipulating unqualified names).

Так:

Host XXX1 XXX2 XXX3
  HostName %h.YYY.com
241
27.01.2020, 19:27
  • 1
    Это появляется %h функция появилась в выпуске 5.6 OpenSSH. Я задавался вопросом, почему я не видел его прежде - версия в Сжатии Debian 5.5. –  jw013 17.01.2013, 22:09
  • 2
    Если Вы находитесь на старой ОС или нуждаетесь в правилах, которые не поддерживаются в config, можно всегда просто писать простой сценарий, который генерирует Ваш config. –  Roger Dahl 06.11.2015, 03:01

Просто используйте *

Посмотрите man ssh_config:

ШАБЛОНЫ шаблон состоит из нуля или большего количества непробельных символов, '*' (подстановочный знак, который соответствует нулю или большему количеству символов), или‘?’ (подстановочный знак, который соответствует точно одному символу). Например, для определения ряда объявлений для любого хоста в “.co.uk” наборе доменов следующий шаблон мог использоваться:

       Host *.co.uk

 The following pattern would match any host in the 192.168.0.[0-9] network range:

       Host 192.168.0.?

 A pattern-list is a comma-separated list of patterns.  Patterns within pattern-lists may be negated by preceding them with an
 exclamation mark (‘!’).  For example, to allow a key to be used from anywhere within an organisation except from the “dialup”
 pool, the following entry (in authorized_keys) could be used:

       from="!*.dialup.example.com,*.example.com"
53
27.01.2020, 19:27
  • 1
    Спасибо! Это, кажется, то, в чем я нуждаюсь, но я все еще не понимаю, как адаптировать его к моему случаю. Сделайте я использую вопросительный знак ? везде, где я хочу, чтобы это было заменено шаблоном, подобранным * знак? –  Amelio Vazquez-Reina 17.01.2013, 20:59
  • 2
    Хм. Я думаю, что шаблоны служат другой цели от того, в чем я нуждаюсь. Они перенаправляют несколько запросов к тому же config запись, но параметры Хоста фиксируется (т.е. шаблоны не могут использоваться для шаблонной обработки параметров).Я неправ? –  Amelio Vazquez-Reina 17.01.2013, 21:03
  • 3
    @user27915816 Да, Вы правы, нет никакого способа сделать "шаблоны" насколько я знаю. Лучшее, которое можно сделать, выделяют постоянные строки в сингл Host * запись, и имеет отдельную запись для каждого Host XXX это состоит только из частей, которые варьируются (т.е. Hostname XXX.YYY.ZZZ строка). –  jw013 17.01.2013, 21:47

Чтобы минимизировать настройку, вы можете иметь .ssh / config , как этот

Host X01
    HostName X01.YYY.com

Host X02
    HostName X02.YYY.com

...

Host X01 X02 ...
     User my_username
     Compression yes
     Ciphers arcfour,blowfish-cbc
     Protocol 2
     ControlMaster auto
     ControlPath ~/.ssh/%r@%h:%p
     IdentityFile ~/.ssh/YYY/id_rsa

Host x01 x02 ... может быть замена на Хост * Если каждый хост имеет следующую конфигурацию

77
27.01.2020, 19:27

у меня это работает:

CanonicalizeHostname yes
CanonicalDomains xxx.auckland.ac.nz yyy.auckland.ac.nz

host  *.xxx.auckland.ac.nz
   user myuser
host *.yyy.auckland.ac.nz
   user myuser

это позволяет использовать имена в домене и изменять имя пользователя:

bluebottle:~ user_one$ ssh itslogprd05
myuser@itslogprd05.xxx.auckland.ac.nz's password: 
8
27.01.2020, 19:27

Работает следующий способ.

Host 10.10.* 10.11.*
     User vagrant
1
27.01.2020, 19:27

Теги

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