Shell

ssh-copy-id 不會復製到非預設位置

  • July 13, 2015

ssh-copy-id 是否可以辨識 authorized_keys 文件是否不在 ~/.ssh 中?我將授權密鑰文件儲存在另一個文件夾中,我已將其配置為:

AuthorizedKeysFile /mnt/sd_ext/.ssh/authorized_keys

但是在客戶端機器上執行 ssh-copy-id 仍然會導致在 ~/.ssh 中創建文件。我錯過了什麼,還是這是預期的行為?

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為您自己的自定義位置。

引用自:https://unix.stackexchange.com/questions/215737