在Linux中用scp进行远程复制文件时需要输入密码,这对于复制大文件使用nohup后台执行的时候是非常糟糕的,但我们可以生成一对密钥,把公钥放置在远程主机上,这样再使用scp时就无须输入密码,具体做法如下:
需求场景:现有主机A、主机B,要从主机A复制文件到主机B。
1.在主机A上使用命令ssh-keygen -t rsa
生成一对密钥,命令执行后敲回车直至结束,执行完后在/root/.ssh目录下会出现两个文件id_rsa
和id_rsa.pub
2.把主机A的id_rsa.pub
复制到主机B的/root/.ssh/目录下,并改名为authorized_keys
,至此从主机A复制文件到主机B就无须输入密码。
scp /root/.ssh/id_rsa.pub 用户名@ip地址:/root/.ssh/authorized_keys