我们在 Ubuntu 服务器上运行了一个 cronjob,将 pg_dump 通过管道传输到 Synology NAS。它工作了一段时间,但现在我们意识到,备份不再工作了。我们现在得到一个 尝试运行 cronjob 时出现
ssh_exchange_identification: read: Connection reset by peer
错误。
这里是 cronjob:
pg_dump -U postgres -Fc mydb | ssh [email protected] "cat > /volume1/NetBackup/example.com/weekly/mydb-weekly.dump"
在 Ubuntu 客户端和 Synology NAS 上,我们都有一个名为 rsyncuser 的用户(因为我们也使用 rsync 进行其他备份)。
实际上,我们可以使用密码身份验证从任何其他计算机以 rsyncuser 身份 ssh 到 Synology,但我们现在花了两天的时间才使用密钥进行身份验证才能再次工作。 在我们的 Ubuntu 客户端上,我们有
root
、admin
、rsyncuser
,并且只允许管理员登录。
我们 (
admin
) 在 ssh-keygen -t rsa -b 4096
文件夹中使用 /home/rsyncuser/.ssh/
创建了新密钥,并将所有者设置为 rsyncuser:rsyncuser
,将权限设置为 0700
。
当我们尝试将密钥复制到 Synology 时
ssh-copy-id -i /home/rsyncuser/.ssh/id_rsa.pub [email protected]
我们收到
:Connection reset by peer
错误。
我们还尝试手动将
id_rsa.pub
复制到Synology上homes/rsyncuser/.ssh/文件夹中的authorized_keys
文件,但这并没有改变任何东西。
但我们意识到,字符串末尾注释处的键是 [email protected]。
我们还尝试从root和admin将/.ssh中的known_host文件重命名为known-hosts.old,因为rsyncuser的/.ssh文件夹中没有这样的文件。 这也没有帮助。
我们在 rsyncuser/.ssh 中创建了一个新的known_hosts 文件并运行以下命令:
ssh-keyscan xyz.myfritz.net | tee -a /home/rsyncuser/.ssh/known_hosts
但是我们得到:
Connection is closed by remote host
我们不知道该怎么办?
有没有办法把所有东西都设置为0?
我们想知道我们的用户 rsyncuser 是否需要他自己的密钥文件和他自己的known_hosts 文件?我们没有找到如何为无法登录的特定用户生成密钥?
很抱歉这篇长文,但我们已经尝试了很多但没有成功。感谢您的帮助。
这是返回的完整答案:所以显然有一些文件丢失(在主机上?)。
OpenSSH_7.6p1 Ubuntu-4ubuntu0.7, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 18: Applying options for *
Pseudo-terminal will not be allocated because stdin is not a terminal.
debug1: Connecting to xyz.myfritz.net [00.00.7.51] port 22.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /root/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.7
ssh_exchange_identification: read: Connection reset by peer