shell脚本中解决SCP命令须要输入密码的问题

答案:使用密钥文件。web

--------------------------------------------------------------------------------------------------
这里假设主机A(192.168.1.3)用来获到主机B(192.168.1.4)的文件。
在主机A上执行以下命令来生成配对密钥:
ssh-keygen -t rsa
遇到提示回车默认便可,公钥被存到用户目录下.ssh目录,好比root存放在:
/root/.ssh/id_rsa.pubshell

将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并更名为 authorized_keys,
到主机A中执行命令和主机B创建信任,tomcat

例(假设主机B的IP为:192.168.100.4):scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keysbash

下面就能够用scp、ssh命令不须要密码来获取主机B的文件了
ssh 192.168.100.4 回车就不须要密码了。
注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就好了服务器

转载:http://blog.csdn.net/chris_playnow/article/details/22579139app

--------------------------------------------------------------------------------------ssh

拷贝其余服务器附件归集到主服务器bash shellwebapp

[test@abc01.cn ~]$ cat copy.bash
#!/bin/bash
# copy attachment
scp -r test1@app02.abc.cn:/home/test1/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
echo "done! app02. copy finish"
scp -r test2@app03.abc.cn:/home/test2/tomcat/webapps/app01/WEB-INF/attachment/* /home/test/tomcat/webapps/app01/WEB-INF/attachment/
echo "done! app03. copy finish".net

-------------------------------------------------------------------------------rest

增长定时任务

crontab -e

相似编辑vi  在里面粘贴  

  * */6 * * * username sh /home/user/test/copy.sh

---shift+zz保存,重启crond服务

root]# service crond restart

--------------------------

相关文章
相关标签/搜索