将 Solaris 服务器的 scp 文件传输到 Linux 服务器的 Solaris 脚本

将 Solaris 服务器的 scp 文件传输到 Linux 服务器的 Solaris 脚本

我需要将一些 .xml 文件(持续时间为 2016 年 4 月至 5 月)从 Solaris 服务器(服务器 A)传输到 Linux 服务器(服务器 B),其中 Solaris 服务器是编写和执行脚本的主目录。

我为此编写了以下脚本-

#!/bin/sh

ssh [email protected] touch --date "2016-04-01" /tmp/start.tmp
ssh [email protected] touch --date "2016-05-31" /tmp/end.tmp

for i in `find /home/hs/demo*.xml -type f -newer /tmp/start.tmp -not -newer /tmp/end.tmp`
do
scp [email protected]:$i [email protected]:/data/Output
done

但是从服务器 A 执行脚本后,它提示我输入密码(我不希望发生这种情况,因为我需要 Solaris 自动 scp 文件而无需人工干预)

为了执行 scp,我在 Solaris 服务器(服务器 A-10.20.14.49)中使用命令“ssh-keygen -t rsa”创建了密钥,并将公钥复制到 Linux 服务器(服务器 B-10.24.21.11)。

但在从服务器 A 执行脚本后,它仍然提示我输入密码,所以我创建了一个服务器A中的/home/hs/.ssh下的配置文件,以下是其内容:-

Host oa
User dev
HostName 10.24.21.11
IdentityFile ~/.ssh/my_ssh_key

但 Solaris(服务器 A)仍然提示我输入密码。

答案1

如果可用的话,您可能想改用此命令:

ssh 复制 ID[电子邮件受保护]

这会将您的公钥传输到远程服务器并为您处理授权密钥过程。

相关内容