在scp在Linux或Unix之间传输文件,是需要密码。
通过配置握手文件,可以避免输入密码进行scp传输文件,这在写一些定时任务的时候比较有用。
--场景
目前两台机器A,B
在A上有定时任务需要将文件scp到B上。
--配置握手文件方法
在A机器上,进入定时任务的用户oracle
1、进入.ssh目录(/home/oracle目录下)
cd .shh
2、执行ssh命令,生成密文,跳出的选项直接回车到底
ssh-keygen -b 1024 -t rsa
3、上一步会在当前目录生成文件id_rsa.pub,将该文件copy到B机器
scp id_rsa.pub root@B机器IP:/root/.ssh/id_rsa.pub.2017
由于B机器已有.pub文件,故copy的时候改了名字。
在B机器上
4、进入对应用户目录,这里是root用户
cd /root
cd .ssh
5、将A机器传过来的.pub文件内容附加到authorized_keys文件后。
(如果没有authorized_keys文件,直接rename即可)
cp authorized_keys authorized_keys.bak2017 (先备份)
cat id_rsa.pub.2017 >> authorized_keys
在A机器上测试
6、oracle用户下测试scp
scp test root:@B机器IP:/root
不需要输入密码即成功。
通过配置握手文件,可以避免输入密码进行scp传输文件,这在写一些定时任务的时候比较有用。
--场景
目前两台机器A,B
在A上有定时任务需要将文件scp到B上。
--配置握手文件方法
在A机器上,进入定时任务的用户oracle
1、进入.ssh目录(/home/oracle目录下)
cd .shh
2、执行ssh命令,生成密文,跳出的选项直接回车到底
ssh-keygen -b 1024 -t rsa
3、上一步会在当前目录生成文件id_rsa.pub,将该文件copy到B机器
scp id_rsa.pub root@B机器IP:/root/.ssh/id_rsa.pub.2017
由于B机器已有.pub文件,故copy的时候改了名字。
在B机器上
4、进入对应用户目录,这里是root用户
cd /root
cd .ssh
5、将A机器传过来的.pub文件内容附加到authorized_keys文件后。
(如果没有authorized_keys文件,直接rename即可)
cp authorized_keys authorized_keys.bak2017 (先备份)
cat id_rsa.pub.2017 >> authorized_keys
在A机器上测试
6、oracle用户下测试scp
scp test root:@B机器IP:/root
不需要输入密码即成功。