我正在尝试编写将公钥复制到多台机器的脚本。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?.
在检查了 的代码后ssh-copy-id
,发现这个 hack 有效:
SSH_OPTS='-F /dev/null' ssh-copy-id [...]
Run Code Online (Sandbox Code Playgroud)
不过,仍然会对仅依赖于文档化功能的解决方案感兴趣。