Linux scp 不输入密码复制文件到远端服务器
特別适合于crontab 不需要人工干预的工作
Source 源服务器(10.64.32.196)
Target 目标服务器(10.64.32.199)
方法和步骤
- 在Source 服务器上
- 如果是root用戶,先看/root/.ssh文件夾中是否有
id_rsa.pub
文件 - 如果有,则把这个文件scp到目标服务器的/root/.ssh文件夾中
- 如果沒有,则执行ssh-keygen -t rsa 直接两个回车即可产生id_rsa.pub文件
- 为了和其他服務器的id_rsa.pub区分,我們scp時,可以
scp id_rsa.pub root@10.64.32.199:/root/.ssh/32.196rootid_rsa.pub
- 如果是root用戶,先看/root/.ssh文件夾中是否有
- 在Target 服务器上
- 先看32.196rootid_rsa.pub這個文件是否已經有了,没有则scp过来
- 再看是否已經有authorized_keys文件
- 如果沒有這個文件,直接cp 32.196rootid_rsa.pub authorized_keys
- 如果authorized_keys已經存在,則cat 32.196rootid_rsa.pub>>authorized_keys
- 此時authorized_keys大小会有所变化
如此作业后,196服务器上的文件以root用戶執行scp到199時,就不需要密码了
如果199上的文件也想以root用戶scp到196,也不想輸入密碼
- 此時,只需要把32.199的id_rsa.pub scp到32.196
- 然后cp or cat 32.99id_rsa.pub authorized_keys即可
如果还有第二第三第四…,类似上面的操作
- 在Source服务器上产生id_rsa.pub
- scp id_rsa.pub到目标服务器
- cat id_rsa.pub>>authorized_keys