问题:需要定时将本服务器的文件传输到指定服务器上作为备份
通过scp实现不同服务器之间的文件传输
正常使用scp传输文件
传输文件命令:scp /data/文件 root@服务器地址:/指定目录
传输文件夹命令:scp -r /data/文件 root@服务器地址:/指定目录
可以看到需要输入密码
但是如果定时任务肯定不能输入,因此就需要免密传输
免密传输实现:
需要将本服务器上的文件上传到指定服务器
我们只需要在本机上生成密钥,在指定服务器上配置即可
步骤:
1.在本机服务器上执行命令ssh-keygen -t rsa
一直回车就行
结束后会在/root/.ssh中生成私钥和公钥
2.在目标服务器上配置本机的公钥
在本机找到id_rsa.pub这个就是公钥,将里面内容复制到目标服务器的/root/.ssh文件夹中
新建authorized_keys touch authorized_keys
文件将公钥复制进去即可
这样就可以实现免密传输
可以看到此时已经不需要输入密码
如果此时仍然不行,可以再执行一条命令
ssh-copy-id xxx.xx.xx.xx(你的目标服务器ip)
这个就会在目标服务器/root/.ssh/生成一个known_hosts文件,里面配置了需要连接的ip地址