Similarly to the OpenWrt special case, when the remote host is running Haiku, the remote Haiku-customized openssh-portable uses a custom location for the authorized_keys file, so set AUTH_KEY_FILE to match that. --- ssh-copy-id | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ssh-copy-id b/ssh-copy-id index b3f9511..b06c25c 100755 --- a/ssh-copy-id +++ b/ssh-copy-id @@ -285,6 +285,10 @@ installkeys_sh() { # the cat adds the keys we're getting via STDIN # and if available restorecon is used to restore the SELinux context # OpenWrt has a special case for root only. + # Likewise, Haiku uses its own filesystem layout for many things, including + # home directories. Even though the latter currently stands for the one home + # directory because Haiku is currently single-user, for forward compatibility + # use a relative path to authorized_keys. INSTALLKEYS_SH=$(tr -s '\t\n' ' ' <<-EOF $SET_X cd; @@ -292,6 +296,8 @@ installkeys_sh() { AUTH_KEY_FILE="${TARGET_PATH}"; [ -f /etc/openwrt_release ] && [ "\$LOGNAME" = "root" ] && AUTH_KEY_FILE=/etc/dropbear/authorized_keys; + [ "\`uname -o\`" = "Haiku" ] && + AUTH_KEY_FILE=config/settings/ssh/authorized_keys; AUTH_KEY_DIR=\`dirname "\${AUTH_KEY_FILE}"\`; mkdir -p "\${AUTH_KEY_DIR}" && { [ -z "\`tail -1c "\${AUTH_KEY_FILE}" 2>/dev/null\`" ] || -- 2.39.5 --MP_/gxPUxm6OSr4qMYBz=q3zDS3 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@xxxxxxxxxxx https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev --MP_/gxPUxm6OSr4qMYBz=q3zDS3--