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