Je tente de faire fonctionner cette commande en tant qu'utilisateur postgres (pour pouvoir expédier des fichiers wal):
rsync -a /tmp/test postgres@server2:/tmp/test
Mais je reçois l'erreur:
Permission denied (publickey).
J'ai exécuté ssh-keygen
eval `ssh-agent`
et ssh-add
en tant qu'utilisateur postgres sur server1. keygen a créé /var/lib/postgresql/.ssh/id_rsa
et id_rsa.pub
et je vois que c'est envoyé en utilisant ssh -vvv postgres@server2
.
Sur server2, j'ai créé /var/lib/postgresql/.ssh/authorized_keys
mis le contenu de id_rsa.pub de server1 dedans. Il est possédé par l'utilisateur et le groupe postgres et chmod 600. Le répertoire .ssh
est également possédé par postgres et chmod 700.
Je peux voir à partir des journaux sshd détaillés sur server2 que Échec pour publickey de postgres...
Utilisateur postgres sur les deux serveurs: postgres:x:106:114:administrateur PostgreSQL,,,:/var/lib/postgresql:/bin/bash
ssh -vvv postgres@server2
...
(debug logs in French)
...
server2 sshd_config (lignes commentées supprimées)
Port 22
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
UsePrivilegeSeparation yes
KeyRegenerationInterval 3600
ServerKeyBits 768
SyslogFacility AUTH
LogLevel VERBOSE
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
RSAAuthentication yes
PubkeyAuthentication yes
IgnoreRhosts yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
AcceptEnv LANG LC_*
Subsystem sftp /usr/lib/openssh/sftp-server
UsePAM yes
server2 auth log
Jan 16 03:54:21 ip-10-28-26-251 sshd[7972]: Set /proc/self/oom_score_adj to 0
Jan 16 03:54:21 ip-10-28-26-251 sshd[7972]: Connection from 10.28.123.97 port 49377
Jan 16 03:54:21 ip-10-28-26-251 sshd[7972]: Failed publickey for postgres from 10.28.123.97 port 49377 ssh2
Jan 16 03:54:21 ip-10-28-26-251 sshd[7972]: Connection closed by 10.28.123.97 [preauth]
Qu'est-ce que j'oublie? Je suppose que sshd ne regarde pas mon fichier authorized_keys sur server2