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

nrc*_*ast 3 shell login authentication openssh

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

AuthorizedKeysFile /mnt/sd_ext/.ssh/authorized_keys

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

Ant*_*gan 5

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

\n\n
$ which ssh-copy-id\n/usr/bin/ssh-copy-id\n\n$ file /usr/bin/ssh-copy-id\n/usr/bin/ssh-copy-id: POSIX shell script, ASCII text executable\n
Run Code Online (Sandbox Code Playgroud)\n\n

它\xe2\x80\x99是一个相当简单的脚本,并且路径.ssh/authorized_keys是硬编码的,因为该脚本不是\xe2\x80\x99t编写的,用于处理文件的非标准位置authorized_keys,即,它总是将密钥复制authorized_keys~/.ssh

\n\n

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

\n