服务器 1 -> Centos 7。
服务器 2 -> AlmaLinux 9。
我错误地
rsync -e “ssh…” /dir1/ user2@domain2:/home/user2/dir2/
将其改为
rsync -e “ssh…” /dir1 user2@domain2:/home/user2/dir2/
目标处的最终结果必须是/home/user2/dir2/dir1
dir1 仅包含 5 个目录。
因此,我小心地在 dir2 中删除了它们,检查是否有不能删除的文件(之前存在的文件rsync
)。
然后,我尝试从 server1 中执行正确的操作rsync
,但失败了。我得到了
权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)
Server2(目标)仅允许使用公钥进行 ssh 连接。我使用我的密钥“自动”从 server1 连接到 server2 几次。
/home/user2/.ssh
存在且未更改。它有文件authorization_keys
0600,其中包含一些公钥,包括 user1 的公钥。
如果我允许在 server2 中使用密码进行 ssh 登录,我就会成功登录。
用户1 使用公钥登录其他服务器2 帐户。问题出在用户2 身上。
我读过一些类似的帖子,寻找输出错误,但都写了关于生成密钥、文件和目录权限的内容。
.ssh 是 0700 而 authorized_keys 是 0600。我正在讲述事情发生的过程。
客户端具有相同的权限。两者都是远程的。当我能够在服务器上删除这些目录之前获得访问权限时,我的笔记本电脑也出现了同样的错误。远程服务器和客户端用户都是 root。
客户端根目录为 0555,服务器根目录为 0775
我的笔记本电脑用户/.ssh 是 0700,用户是 0755。
server1、我的 Mac 笔记本电脑和我的 Ubuntu 台式机是唯一将其公钥存储在 server1 的 authorized_keys 中的客户端,并且我是唯一可以访问所有这些密钥的人。
答案1
The client root dir is 0555 while server is 0775
我将服务器根权限更改为 0555,与客户端相同,并且已修复。我不明白为什么删除几个 /root/ 子目录会改变 /root 权限。
删除是从我的 ssh 笔记本电脑连接执行 rm -rf /root/subdirs。