Intereting Posts
CentOS 7 – Использование systemctl для запуска виртуальной машины без головы кратчайший способ замены символов в переменной ethtool с виртуальным сетевым адаптером ничего не показывает – распечатать текущие настройки сетевого адаптера в OpenStack VM Не удалось повторно подключить 3G-соединение после ввода нового IP-адреса Восстановление ядра Linux без «чистого» AWK-скрипт для сравнения содержимого 2-х файлов Изменение раскладки клавиатуры в LightDM Получить список пакетов, которые предоставляют (APT) Как применять обновление / исправление ОС удаленно в экземплярах CentOS EC2? SSH-сервер, прослушивающий несколько портов с беспроблемным доступом, не позволяющий подключать второй порт Как исправить этот spec-файл: он продолжает давать мне sed-ошибки, но единственный sed задолго до возникновения ошибки? flock (2) по сравнению с fcntl (2) над NFS Глобус не работает в zsh, но работает в bash Какая стандартная команда оболочки может оценивать escape-код Unicode в потоке? Wi-Fi отключается очень часто

Как заставить ssh-copy-id игнорировать существующие авторизованные ключи?

Изменить: для этого есть отчет об ошибке , эквивалентный этому ответу .

Я пытаюсь выполнить сценарий копирования открытых ключей на несколько машин. ssh-copy-id проверяет, может ли он входить в систему с текущей конфигурацией перед копированием, но, к сожалению, это включает в себя любые записи IdentityFile в ~/.ssh/config . Я хотел бы полностью игнорировать ~/.ssh/config ; есть ли способ сделать это или заставить ssh-copy-id всегда добавлять ключ? Это не работает:

 ssh-add "$old_key" ssh-copy-id -i "$new_key" -o "IdentityFile $new_key" "$login" 

Это похоже на, но отличается от того, как я могу сделать ssh игнорировать .ssh / config? ,

После проверки кода ssh-copy-id получается, что этот хак работает:

 SSH_OPTS='-F /dev/null' ssh-copy-id [...] 

По-прежнему будет интересоваться решением, которое зависит только от документированных функций.

Использование SSH_OPTS не может быть SSH_OPTS будущем (я думаю, что сценарий должен SSH_OPTS перезагрузить его по соображениям безопасности: поведение не должно зависеть от неопределенных переменных среды, которые в некоторых случаях, возможно, не были очищены). Что вы могли бы сделать (возможно, через функцию оболочки):

 env PATH="/path/to/special_dir:$PATH" ssh-copy-id [...] 

где /path/to/special_dir просто содержит скрипт ssh , который может выполнять реальный ssh с -F /dev/null . Это немного уродливо, но я не думаю, что есть чистый способ с текущим сценарием ssh-copy-id .