每次都需要输入B服务器密码,就是当需要传送的文件多起来的时候,就比较麻烦了。
后来我想了一个思路:
step1:
先解决,SCP过程中输入密码的问题,解决办法就是开启服务器密钥功能。
到A服务器中执行下列操作:
ssh-keygen -t rsa(下面的是提示信息,目的是为了不想有密码,则可全部按 enter,一直到最后)
修改一下 .ssh 目录的权限,使用命令 "chmod 755 ~/.ssh"
之后把这个密钥对中的公共密钥复制到你要访问的机器上去,并保存为
~/.ssh/authorized_keys.
[user1@rh user1]$ scp ~/.ssh/id_rsa.pub rh2@rh2host:/home/user1/.ssh/authorized_keys
(比如我的机器:scp ~/.ssh/id_rsa.pub atlas@211.87.224.169:/home/atlas/.ssh/authorized_keys)
user2@rh2's password:
id_rsa.pub 100% 228 3.2MB/s 00:00
结束之后 ,在A上再用scp命令,则不用输入密码了,呵呵
step2:
写个脚本负责分析文档中需要传送文件的路径以及名称。
文档内容举例(202up.txt):
/root/test.txt
我的shell脚本:
#author:xiezhanhui time:2010-04-01 postfiletoserver
cat 202up.txt | while read myline
do
A=`echo $myline | awk '{print $1};'`
scp -P32772 -r $A root@192.168.0.202:$A
done < 202up.txt
希望解占辉的文章能够帮助大家,谢谢。
另外,我的脚本第一次执行可能需要输入密码,以后就不需要了。
有什么技术难题,随时与我交流 jeffxie@
















