ssh-copy-id 不会复制到非默认位置

ssh-copy-id 不会复制到非默认位置

如果authorized_keys 文件不在~/.ssh 中,ssh-copy-id 是否可以识别?我将授权密钥文件存储在不同的文件夹中,我将其配置为:

AuthorizedKeysFile /mnt/sd_ext/.ssh/authorized_keys

但是在客户端计算机上运行 ssh-copy-id 仍然会导致在 ~/.ssh 中创建文件。我错过了什么,还是这是预期的行为?

答案1

ssh-copy-id实际上是一个shell脚本,可以看出:

$ which ssh-copy-id
/usr/bin/ssh-copy-id

$ file /usr/bin/ssh-copy-id
/usr/bin/ssh-copy-id: POSIX shell script, ASCII text executable

这是一个相当简单的脚本,并且.ssh/authorized_keys路径是硬编码的,因为该脚本不是为处理文件的非标准位置而编写的authorized_keys,即它始终将密钥复制到authorized_keysin 中~/.ssh

遵守约定通常是最佳实践,但如果您有充分的理由使用非标准路径,则可以尝试编辑脚本以替换.ssh/authorized_keys为您自己的自定义位置。

相关内容