我试图让这个命令作为用户 postgres 工作(所以我可以发送 wal 文件):
rsync -a /tmp/test postgres@server2:/tmp/test
但我得到了错误:
Permission denied (publickey).
我已经在 server1ssh-keygen
eval `ssh-agent`
上ssh-add
以 postgres 用户身份运行。keygen 创建了/var/lib/postgresql/.ssh/id_rsa
,id_rsa.pub
我可以看到它是使用ssh -vvv postgres@server2
.
在 server2 上,我创建了/var/lib/postgresql/.ssh/authorized_keys
将 id_rsa.pub 表单 server1 的内容放入其中。它归 postgres 用户和组以及 chmod 600 所有。该.ssh
目录也归 postgres 和 chmod 700 所有。
我可以从 server2 上的详细 sshd 日志中看到Failed publickey for postgres...
我错过了什么?我猜 sshd 没有在 server2 上查看我的 authorized_keys 文件