关闭后台后scp进程仍能正常运行

  1. 建立ssh信任关系

1.1生成ssh密钥

在主机A上执行命令:ssh-keygen -t rsa生成密钥

 

Generating public/private key pair. 提示生成的公钥私钥文件的存放路径和文件名,通常不用改,回车就可以

然后Enter passphrase(empty for nopassphrase): 通常直接回车,默认不需要口令

Entersame passphrase again: 也直接回车

然后会显式密钥fingerprint生成好的提示,并给出一个RSA加密协议的方框图形。此时在当前用户家目录的.ssh目录下ll,就可以看到生成好的私钥文件id_rsa和公钥文件id_rsa.pub了

1.2拷贝公钥文件到B主机

在主机A上执行命令:scp .ssh/id_rsa.pub root@192.168.8.220:/root/.ssh/authorized_keys 将A的公钥文件拷贝到B主机

注意1:如果B主机上已经有authorized_keys文件,这样拷贝过去会直接覆盖掉原来的文件。可以scp .ssh/id_rsa.pub root@192.168.8.220:/root/.ssh/ 拷贝文件过去,再在B上cat id_rsa.pub >> ~/.ssh/authorized_keys将A的公钥追加到authorized_keys文件末尾

注意2:建立信任关系后A可以无密码ssh或scp到B主机上,出于安全考虑在使用完后,建议将B主机上关于A的公钥删除

  1. 制作脚本

使用命令touch scp.sh创建一个脚本文件

通过vi scp.sh将需要执行的命令写到脚本文件中保存退出,需要执行的命令开头都要加上nohup

 

注意:nohup可以保证进程在关闭窗口后还能执行,不能省略

使用chmod +x scp.sh赋予脚本执行权限

通过./scp.sh运行脚本

  1. 验证

使用exit退出命令后关闭窗口,在B主机上检查拷贝的文件是否在持续增大

注意:不使用exit退出命令直接关闭窗口有时候会导致进程死掉,建议exit退出后再关闭窗口