设置ssh信任关系可以不用输入密码执行 scp 命令 。
源机器 dgitr06-ts
目标机 dgitr02-ts
在目标机dgitr02-ts上(用户oracrp3登录):
$ cd
$ mkdir .ssh
$ chmod 700 .ssh
$ pwd
/data01/crp3/oracrp3 (下面操作要在oracrp3的home目录下,这里检查是否家目录)
$ ssh-keygen -t rsa
然后可以看到在home目录下的 .ssh 下生成有 id_rsa.pub 文件。
在源机器dgitr06-ts上(用户orasit登录):
$ ssh cat /data01/crp3/oracrp3/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
备注: /data01/crp3/oracrp3 是 oracrp3用户在目标机dgitr02-ts上的home目录。
在目标机dgitr02-ts上测试连通性(因为两边用户名不同,所有需要在主机前加对应的用户名):
$ ssh date
在目标机上设置 crontab , 自己后台跑scp :
30 23 26 2 0 nohup scp * /data02/dev/devdata/ &
如果是相同用户, 那就相对简单了。
1. 在目标机上生成public key .
franklinstby$ cd /home/oracleITPUB个人空间2`] z2`*_
franklinstby$ mkdir .ssh
'dB2PU,L{gM35489franklinstby$ chmod 700 .sshITPUB个人空间w:}2l"dZ x0AT
franklinstby$ cd /home/oracleITPUB个人空间!].v${Wm3N H&c^[Ph#J
franklinstby$ ssh-keygen -t rsa
然后可以看到 .ssh 目录下生成有 id_rsa.pub 文件。
2. 在源机器上家目录.ssh下生成authorized_keys文件,然后将目标机的
C}&D2I@35489public key传输源机器已经存在 authorized_keys 文件中.ITPUB个人空间i o2aE J8BM3IkZ8x
备注: 10.17.113.18 是目标机的IP地址 。
franklindb$touch authorized_keys
&{+G*AMp(~ ?:h0G(v35489franklindb$ ssh 10.17.113.18 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3. 测试连通性 (备注: 10.17.113.15 是源库的IP地址 )ITPUB个人空间O5L.DlA1Irm&~
franklinstby$ssh 10.17.113.15 date