Intereting Posts
как извлечь номер из строки в unix как узнать, потребуется ли перезагрузка Как я могу использовать команду ‘grep’, чтобы получить какое-то значение из аргументов? создавать несколько файлов / dev / xconsole автоматически при загрузке Ошибка установки переменной в длину массива в bash О выполнении сценария оболочки Как получить время, когда система загрузилась в формате epoch? Почему «virsh list –all» показывает, что работает как обычный пользователь, но «отключен» с помощью sudo? gnome-shell в Linux Fedora «подделывает» выход Ошибка времени выполнения Awk: недостаточно аргументов Имея некоторые проблемы с аутентификацией через прокси, чтобы успешно использовать apt-get в корпоративной сети эхо-тест | stty -echo -> stty: стандартный ввод: несоответствующий ioctl для устройства Отправка списка (текстового файла) файлов и путей в xargs Объединяйте и сопоставляйте совпадающие и не соответствующие значения между меньшим файлом и огромным файлом Сильный переадресационный трафик между двумя туннелями IPsec

Как заставить 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 .