有时候需要跨机器文件传输。又想自动化。这时候输入密码就是一个很头疼的问题。
记录下这种问题的解决办法:
1、rsync服务:
vi /etc/rsyncd.conf
strict modes=no #是否检查口令文件的权限
log file=/var/log/rsyncd.log
pid file=/usr/tmp/rsyncd.pid
[datacenter]
uid=test
gid=test
path=/home/test/data #目录
ignore erros
read only = no #不允许读
write only = yes #允许上传
hosts allow =
然后/usr/bin/rsync --daemon 启动rsync服务。
然后在其他机器就可以用rsync传输了
rsync nohup.out -r test@hostname::datacenter/
2、scp
scp本身是需要输入密码的。我们可以利用建立机器信任关系来不用输入密码
方式是:
#在脚本所在服务器上操作
ssh-keygen -t rsa
出来的提示可以用默认值,然后将产生的公共密钥传到目标机器
scp ~/.ssh/id_rsa.pub username@远程机器IP:/userhome/.ssh/authorized_keys
然后就可以了