如何通过 rsync+ssh 以 root 身份验证自己是否能够登录远程服务器?

如何通过 rsync+ssh 以 root 身份验证自己是否能够登录远程服务器?

我正在尝试使用该rsync命令,但出现“权限被拒绝”的情况,因为 pi 用户没有权限在没有 sudo 命令的情况下写入

我正在尝试将我的 apache2 文件夹从 10.0.2.2 移动到[电子邮件保护]

sudo rsync -av /etc/apache2 [email protected]:/etc/

所以最大的问题是,有没有办法为 pi 用户提供 rsync sudo 命令?或者其他不授予 pi 用户完全访问权限的方法

答案1

亲爱的反对者,目标是树莓派,因此我们有一个 root 用户。


您可以使用root用户代替pi。但在此之前您需要为用户设置密码root

打开 ssh 连接

ssh [email protected]

并设置root密码

sudo su -
passwd

现在您可以使用

rsync -av /etc/apache2 [email protected]:/etc/

答案2

当可以使用 root 登录时,最简单的方法是:

rsync -av /etc/apache2 [email protected]:/etc/

sudo rsync注意:如果所有的配置文件/etc/apache2都是全世界可读的,那么就没有必要。

如果您不介意sudo在 pi 上涉及一些额外的交互命令,请尝试这种方法:

  1. 打包所有文件(文件/etc通常很小,因此打包所有内容应该不是问题):

    tar -czC /etc apache2 | ssh [email protected] 'cat > /tmp/apache2.tar.gz'
    
  2. 解压 pi 上的所有文件:

    sudo tar -xzf /tmp/apache2.tar.gz -C /etc
    

还有第三种可能性,即涉及配置 rsync 守护进程,但这需要更多的努力,并且可能不太安全,因为有线协议未加密,并且可能向任何可以连接到守护进程的人授予访问权限。

相关内容