如何强制 ssh-copy-id 忽略现有的授权密钥?

l0b*_*0b0 5 ssh

编辑:有一个关于这个错误报告,相当于这个答案

我正在尝试编写将公钥复制到多台机器的脚本。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"
Run Code Online (Sandbox Code Playgroud)

这类似于但不同于如何使 ssh 忽略 .ssh/config?.

l0b*_*0b0 6

在检查了 的代码后ssh-copy-id,发现这个 hack 有效:

SSH_OPTS='-F /dev/null' ssh-copy-id [...]
Run Code Online (Sandbox Code Playgroud)

不过,仍然会对仅依赖于文档化功能的解决方案感兴趣。