Различные конфигурации для ssh-клиента в зависимости от IP-адреса или имени хоста

Поскольку ваш вопрос содержит тег /cp, я предположу, что вы использовали cp. Из документации coreutils по cp:

При копировании по символической ссылке cp обычно следует за ссылкой только в том случае. если копирование не рекурсивное или если используется параметр --link (-l). Это значение по умолчанию может быть отменено с помощью параметров --archive (-a), -d, --dereference (-L), --no-dereference (-P), и -H. Если указано более одной из этих опций, последняя опция беззвучно отменяет все остальные.

Чтобы копировать символические ссылки вместо связанных файлов, вы можете использовать флаг -d для cp следующим образом:

cp -d SOURCE DEST

Флаг -d заставит cp копировать символические ссылки как символические ссылки. Из документации coreutils docs:

Копируйте символические ссылки как символические ссылки, а не копируйте файлы. на которые они указывают, и сохранять жесткие ссылки между исходными файлами в копиях. Эквивалентно --no-dereference --preserve=links.

Если вы использовали другие флаги в этом процессе копирования, вы можете просто добавить -d к своим флагам, если только одним из этих флагов не был -l, -a, -L, -P или -H (см. выше примечание об использовании более одной опции). В этом случае вам придется быть осторожным с порядком флагов или удалить ненужные флаги.

1
01.09.2014, 23:30
2 ответа

Host в конфигурационном файле - это короткое имя, которым вы хотите идентифицировать сервер. Вам нужно использовать hostname для идентификации по имени хоста или IP. Также вы можете ограничиться определенным пользователем

Попробуйте что-нибудь вроде

Host myhost
Hostname a.b.c.d
User myuser
Identityfile my-identity-file

Это должно использовать этот ключевой файл только для указанного имени хоста. Он также будет использовать этого пользователя, если вы не указали его

1
29.04.2021, 00:48

Вероятно, вам будет полезно использовать такой инструмент, как "ssh-add", который будет хранить ваш расшифрованный закрытый ключ в памяти, поэтому он не будет запрашивать вашу парольную фразу, когда она вам понадобится.

Итак, когда вы захотите использовать ssh для другого хоста,

1 / Если ваш открытый ключ находится на нем, ssh автоматически аутентифицирует вас

2 / Если вашего открытого ключа нет на нем, ssh попытается аутентифицировать вас с помощью ключа не удастся, затем запросит пароль.

Но, как сказал Этан Рейснер, похоже, что вы назвали свой идентификационный файл именем по умолчанию, иначе ssh не попытался бы его использовать. Если вы не хотите использовать ssh-агент, просто измените имя вашего закрытого ключа

0
29.04.2021, 00:48

Теги

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