0

我完全知道这个问题已经被问过很多次,但我无法找到任何满足我要求的解决方案。

任务 ->我需要将文件从机器 A 传输到机器 B 并在机器 B 上远程执行脚本。由于我的限制,我无法使用 keygen、expect 实用程序或任何其他需要安装软件包的实用程序。要传输文件,我需要提供密码,并且我想在 Url 中提供密码。因为这将在 bash 脚本中运行并且不需要用户干预。

我的调查- 我想使用 scp 但意识到,它不可能在命令提示符下提供密码。所以我想知道,rsync 是否还有其他选择。

下面是小尝试

#!/bin/bash
PATH=/usr/bin:/usr/sbin:/bin:/sbin
USER="bob"
RSYNC_PASSWORD="blue"
MACHINE_B="192.168.200.2"
if ping -c 1 -W 1 $MACHINE_B
then
 echo "There is machine b as well"
 echo " cheking to transfer file to machine b"
    rsync lol.sh  192.168.200.2:/home/bob/
fi

谢谢和问候,山姆

4

2 回答 2

1

我已经尝试过上面提到的各种选项,但不幸的是,它们都不适用于我的情况。但我要感谢大家对我的帮助,而且我确实学到了一些新东西,特别是 rsync。就我而言,我必须依靠 ssh 密钥才能使其工作。

于 2012-08-31T15:49:40.530 回答
0

从 rsync 手册页:

   Some modules on the remote daemon may require authentication. If so, you will receive a password prompt when you connect. You can avoid the  password
   prompt  by  setting  the  environment variable RSYNC_PASSWORD to the password you want to use or using the --password-file option. This may be useful
   when scripting rsync.
于 2012-08-21T11:56:06.160 回答