我有一个脚本,可以使用公钥身份验证通过 SSH 连接多台服务器。由于配置问题,其中一台服务器已停止让脚本登录,这意味着脚本卡在“密码:”提示中,它显然无法回答,因此它甚至不尝试其余服务器在列表中。
有没有办法告诉 ssh 客户端在密钥身份验证失败时不要提示输入密码,而只是报告连接错误并让我的脚本继续执行?
我使用 rsync 备份服务器,但这些备份非常大,我想压缩它们。有没有办法在 rsync 周围使用某种包装器来压缩备份中的文件,rsync 实时文件中的更改,然后在复制后立即重新 gzip 文件?
即如果 live 上的源文件是foo、bar和baz,则备份有foo.gz、bar.gz和baz.gz。
重申:我想要一端是压缩文件,另一端是未压缩文件。我不想在 rsyncing 之前进行压缩,因为即使使用 --rsyncable,它也会降低 rsync 的效率。我知道 rsync 的 -z 选项。我在备份机器上没有空间来存储所有未压缩的文件。
我正在尝试设置 rsync 以每天从服务器复制数据。为了尽可能限制系统,我尝试使用手册页中描述的模式:“通过远程外壳连接使用 RSYNC-DAEMON 功能”
所以我在根目录文件夹中放置了一个名为 rsyncd.conf 的文件:
[root]
path = /
read only = true
Run Code Online (Sandbox Code Playgroud)
并尝试复制 /etc/passwd 作为测试:
rsync -vv -e ssh myserver::root/etc/passwd .
Run Code Online (Sandbox Code Playgroud)
但我得到以下信息:
opening connection using: ssh myserver rsync --server --daemon .
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at io.c(635) [receiver=3.0.3]
Run Code Online (Sandbox Code Playgroud)
我做这一切的原因是,一旦我开始工作,我计划通过指定命令来限制访问
rsync --server --daemon .
Run Code Online (Sandbox Code Playgroud)
在 ~/.ssh/authorized_keys
任何人都知道我可以向服务台工作人员提供社会工程概念的任何好的介绍,以帮助他们发现可疑活动?我正在寻找一些关于如何避免被发现的例子和一些提示。