Pour faire suite à un précédant post concernant la sauvegarde de Yunohost, je tente de faire une sauvegarde du répertoire yunohost.backup/archives/ via un NAS synology ds 218 Play par SFTP.
Sur mon NAS j’ai généré une paire de clef SSH puis j’ai ajouté la clef publique SSH à l’utilisateur admin de Yunohost.
En me connectant en SSH aucun problème, ssh ne me demande pas de mot de passe.
Par contre en utilisant cette commande rsync il me demande quand même le mot de passe:
Dans le contexte de rsync, est-ce que $HOME est à la bonne valeur?
Essaie peut-être avec ..."ssh -p 2022 -i $HOME/.ssh/id_rsa -v"... pour rendre SSH un peu plus verbeux et comprendre le problème. (ça peut peut-être ne pas marcher en fait, je ne sais pas comment rsync fonctionne avec -e)
@tituspijean J’ai testé en changeant le $HOME pour le chemin et avec le -v sur SSH j’ai ceci:
OpenSSH_8.2p1, OpenSSL 1.1.1n 15 Mar 2022
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to inrepublica.fr [*************] port ****.
debug1: Connection established.
debug1: identity file /volume1/homes/toto/.ssh/id_rsa type 0
debug1: identity file /volume1/homes/toto/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.4p1 Debian-5+deb11u1
debug1: match: OpenSSH_8.4p1 Debian-5+deb11u1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to toto.fr:2022 as 'toto'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:********************************************
debug1: Host '[toto.fr]:2022' is known and matches the ECDSA host key.
debug1: Found key in /var/services/homes/toto/.ssh/known_hosts:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /volume1/homes/toto/.ssh/id_rsa RSA SHA256:************************* explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk-ecdsa-sha2-nistp256@openssh.com>
debug1: SSH2_MSG_SERVICE_ACCEPT received
Debian GNU/Linux 11
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /volume1/homes/toto/.ssh/id_rsa RSA SHA256:********************** explicit
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: password
Et ensuite j’ai le prompt du mot de passe
Ce qui est bizarre c’est qu’en SSH simple cela fonctionne bien:
toto@NAS_218Play:/volume1/homes$ ssh admin@toto.fr -p 2022 -i /volume1/homes/toto/.ssh/id_rsa -v
OpenSSH_8.2p1, OpenSSL 1.1.1n 15 Mar 2022
debug1: Authenticator provider $SSH_SK_PROVIDER did not resolve; disabling
debug1: Connecting to inrepublica.fr [2001:41d0:305:2100::143] port 2022.
debug1: Connection established.
debug1: identity file /volume1/homes/toto/.ssh/id_rsa type 0
debug1: identity file /volume1/homes/toto/.ssh/id_rsa-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_8.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_8.4p1 Debian-5+deb11u1
debug1: match: OpenSSH_8.4p1 Debian-5+deb11u1 pat OpenSSH* compat 0x04000000
debug1: Authenticating to toto.fr:2022 as 'admin'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:************
debug1: Host '[toto.fr]:2022' is known and matches the ECDSA host key.
debug1: Found key in /var/services/homes/toto/.ssh/known_hosts:1
debug1: rekey out after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey in after 134217728 blocks
debug1: Will attempt key: /volume1/homes/toto/.ssh/id_rsa RSA SHA256:************** explicit
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<ssh-ed25519,sk-ssh-ed25519@openssh.com,ssh-rsa,rsa-sha2-256,rsa-sha2-512,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ecdsa-sha2-nistp256@openssh.com,webauthn-sk-ecdsa-sha2-nistp256@openssh.com>
debug1: SSH2_MSG_SERVICE_ACCEPT received
Debian GNU/Linux 11
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering public key: /volume1/homes/toto/.ssh/id_rsa RSA SHA256:*************** explicit
debug1: Server accepts key: /volume1/homes/toto/.ssh/id_rsa RSA SHA256:*********** explicit
debug1: Authentication succeeded (publickey).
Authenticated to toto.fr ([2001:41d0:305:2100::143]:2022).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
debug1: client_input_global_request: rtype hostkeys-00@openssh.com want_reply 0
debug1: Remote: /home/admin/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
debug1: Remote: /home/admin/.ssh/authorized_keys:1: key options: agent-forwarding port-forwarding pty user-rc x11-forwarding
Linux inrepublica.fr 5.10.0-17-amd64 #1 SMP Debian 5.10.136-1 (2022-08-13) x86_64
@tituspijean J’utilise bien les mêmes identifiants j’ai juste caché un peu des données perso dans mes logs. Avec la première commande si je rentre le mot de passe, la synchronisation rsync se fait correctement.
Alors sur mon NAS qui va initier la connexion c’est l’utilisateur qu’on va appeler “toto”. Sur Yunohost l’accès au répertoire backup étant restreint j’ai opté pour l’utilisateur admin.
Sur yunohost j’ai bien ajouté ma clef dans /home/admin/.ssh/authorized_keys
En ssh la connection depuis mon NAS vers YUNOHOST marche bien avec la clef sans mot de passe.
Par contre dès que RSYNC rentre dans la boucle il me demande le mot de passe.
Si tu veux le log brut par irc je peux te fournir ça sans problème, mais sur le forum je suis moyen chaud quand même