Производительность dd, ddrescue, dd_rescue в соответствии с ОС (Ubuntu, macOS)

Похоже, что расширение% h просто не работает в директиве Port. Если вы не против заполнить .ssh / config большим количеством записей, нетрудно сгенерировать их динамически (особенно если у вас есть список или они последовательные):

$(for port in `seq 2000 2900`
 do
   echo Host $port
   echo "  Hostname localhost"
   echo "  Port ${port}"
   echo ""
 done) >> ~/.ssh/config

Поскольку мы можем посмотреть исходный код код для ssh, можно подтвердить, что расширение не выполняется для порта:

readconf.c: https://github.com/openssh/openssh-portable/blob/dc664d1bd0fc91b24406a3e9575b81c285b8342b/readconf.c

Вызывает функцию percent_expand для параметров хоста и exec - это, по-видимому, функция, которая преобразует% h в имя хоста. Эта же функция вызывается из ssh.c. Интересно, что ProxyCommand откладывает расширение этих переменных на потом. Это не требуется для директивы Port.

https://github.com/openssh/openssh-portable/blob/ed877ef653847d056bb433975d731b7a1132a979/misc.c

3
06.10.2017, 10:35
0 ответов

Теги

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