在工作生活过程中,接触到的服务器比较多,难免会需要在各个服务器之间进行文件传输,主要是用来备份文件,那如何高效的进行文件传输就是个问题,今天推荐使用 scp 来进行文件传输,由于普通的传输需要验证密码,这里直接推荐使用证书,免密码进行文件传输。
首先,我们在查看需要传输文件的服务器是否存在 SSH Key:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
cd ~/.ssh -bash: cd: /root/.ssh: No such file or directory # 这样是没有 SSH key ls
文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
如果不存在,我们使用如下命令生成 SSH key:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
ssh-keygen -t rsa
输入如上命令,然后敲击三次回车键即可:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
这样就生成完成,会有如下两个文件:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
-rw-------. 1 root root 1.7K Oct 6 20:57 id_rsa -rw-r--r--. 1 root root 401 Oct 6 20:57 id_rsa.pub
接下来我们将 id_rsa.pub 的内容追加到要传输到的服务器的 authorized_keys 文件中,如果没有 authorized_keys 文件,则创建:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
cd ~/.ssh ls
这里我们可以在要传输到文件的服务器上创建一个文件, 如 t ,然后将本地的 id_rsa.pub 内容粘贴到这个文件中,然后再将 t 的内容追加到 authorized_keys 中:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
vi t //粘贴内容 cat t >> authorized_keys
这样就完成了追加,接下来,我们测试下,是否能正常的传输文件:文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
scp -r -P 22 file.txt root@IP:/root/backup/
文章源自陈学虎-https://chenxuehu.com/article/2022/10/8040.html
我们能发现,文件已经能成功的传输了,而且不需要输入密码,这样我们就可以通过脚本去实现灵活的备份了。
评论