实现scp传送不需要密码

由于昨天要从A服务器想B服务器传送一个200G的数据库文件,所以打算晚上进行后台自动传送,但是scp这个命令执行时需要密码,导致nohup无法实现,所以决定写个脚本让其后台执行,但是输入密码这个环节必须去掉,所以想到了建立双机信任这个功能:

我们可以通过在A主机上生成公钥,然后放到B主机上,以后则在A主机需要ssh连接B主机就不需要密码了!

Linux/Unix双机建立信任教程

一 需要建立信任关系的2台主机都执行生成密钥
输入ssh-keygen -t rsa之后全部默认回车,这样就会在/root/.ssh下生成密钥文件

[root@platform_iks .ssh]# ssh-keygen  -t  rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
63:9f:6e:8b:98:49:e3:a2:bc:49:8a:a1:d5:1b:03:3a root@platform_iks.internal.lietou.com
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|                 |
|  .     S        |
| . o   . o .     |
|E o + o   o      |
|oB ..* = o.      |
|+ =o..= ..o.     |
+-----------------+

二 查看~/.ssh生成密钥的文件

[root@platform_iks .ssh]# ll
总用量 12
-rw-------. 1 root root 1675  9月 14 10:46 id_rsa
-rw-r--r--. 1 root root  419  9月 14 10:46 id_rsa.pub
-rw-r--r--. 1 root root 2360  9月 10 15:53 known_hosts

三 建立信任关系
1 A对B建立信任关系

[root@platform_iks .ssh]# scp -r id_rsa.pub 10.10.10.17:/root/.ssh/authorized_keys
root@10.10.10.17's password:
id_rsa.pub                                                                                        100%  419     0.4KB/s   00:00   
[root@platform_iks .ssh]#


即:把A的公钥(id_rsa.pub)拷贝到B,并修改id_rsa.pub 为 authorized_keys
此时需要输入密码(之前未建立信任关系),建立了客户端到服务端的信任关系后,客户端就可以不用再输入密码,就可以从服务端拷贝数据

四 在B机器上执行同样的操作

[root@localhost .ssh]# ssh-keygen --help
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): ^C
[root@localhost .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
b3:b4:62:1b:5a:fb:8c:70:50:6c:22:aa:11:2e:01:23 root@localhost.localdomain
The key's randomart image is:
+--[ RSA 2048]----+
|E                |
|o.   .           |
|o . . +          |
|.+ . +           |
|+.  .   S        |
|o.   . . +       |
|.   . * o        |
|     * B         |
|    . +.o        |
+-----------------+
[root@localhost .ssh]# ll
总用量 16
-rw-r--r--. 1 root root  419  9月 14 10:52 authorized_keys
-rw-------. 1 root root 1671  9月 14 10:54 id_rsa
-rw-r--r--. 1 root root  408  9月 14 10:54 id_rsa.pub
-rw-r--r--. 1 root root 2357  9月 12 14:35 known_hosts
[root@localhost .ssh]# scp -r id_rsa.pub  10.10.10.20:/root/.ssh/authorized_keys
root@10.10.10.20's password:
id_rsa.pub                                                       

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/ebdeb29592724fba82f8a3eb08a27cbd.html