应用场景:
调试程序时,不想直接在运行节点上编译程序,因为这样做容易泄露代码。因此,在用户win系统终端上配置一个与运行节点环境相同的虚拟机,代码放在虚拟机上编译,然后将编译后的执行文件或者动态库放在用户运行节点上。
这样做的好处是保护代码,但是每次编译都要将执行文件或动态库手动复制到运行节点上,影响调试效率,使用scp又需要输入密码。
为了提高效率,在网上找到了本文介绍的方法,只需要稍加修改makefile,就可直接将虚拟机的文件复制到用户运行节点上。
操作步骤:
这里假设主机A(192.168.100.3)用来获到主机B(192.168.100.4)的文件。
在主机A上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
遇到提示回车默认即可,公钥被存到用户目录下.ssh目录,比如root存放在:
/root/.ssh/id_rsa.pub
将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys,
到主机A中执行命令和主机B建立信任,例(假设主机B的IP为:192.168.100.4):
scp ~/.ssh/id_rsa.pub 192.168.100.4:/root/.ssh/authorized_keys
下面就可以用scp、ssh命令不需要密码来获取主机B的文件了
ssh 192.168.100.4 回车就不需要密码了。
注:其实id_rsa.pub内容添加到对方机器的authorized_keys中就行了。
https://blog.csdn.net/qq_40688795/article/details/118567685
linux下安装openssh-server_欠扁的小篮子的博客-CSDN博客_linux安装openssh
https://www.cnblogs.com/yifanrensheng/p/13970585.html
https://blog.csdn.net/jinruoyanxu/article/details/55263231