首页 帮助中心 新加坡服务器 rsa密钥是如何完成scp免密登录
rsa密钥是如何完成scp免密登录
时间 : 2024-08-16 14:46:51 编辑 : 华纳云 阅读量 : 188

使用Linux服务器之间进行文件传输办法的分享,如scp命令的详细使用和配置,没有共享磁盘情况下,利用scp命令如何实现前端项目文件到后端服务器的传输,rsa密钥是怎么完成scp免密登录,如权限设置的关键点和常见问题的解决方法有哪些?华纳云在下文一一为大家分享。

在web项目部署时,如何实现前后端的文件自动传输?一种方式是前端服务器和后端服务器有个共享磁盘,再发布项目时,只需要放在共享磁盘上,后端服务器就可以通过这个共享磁盘路径直接使用这些文件。

但是如果是不存在共享磁盘,那就需要使用scp命令实现文件传输。

现在假设前端项目在10.123.123.78;(简称78)

后端项目在10.123.123.79。(简称79)

首先,登录到前端服务器,通过scp命令把文件传到后端服务器。

scp -v -r /home/useradmin/cdn useradmin@10.123.123.79:/home/useradmin/cdn

-v是debug模式,可以看到命令执行的详细情况;也可以使用-vvv查看更详细的情况。

useradmin是用户名,默认路径在home下。

这条命令把78上的cdn文件夹及其中内容传到了79的指定路径下(指定路径也是cdn)。

再登录后端服务器,使用scp命令把文件从前端服务器读取出来。

scp -v -r useradmin@10.123.123.78:/home/useradmin/cdn /home/useradmin/cdn

-v是debug模式,可以看到命令执行的详细情况;也可以使用-vvv查看更详细的情况。

useradmin是用户名,默认路径在home下。

这条命令把78上的cdn文件夹及其中内容传到了79的指定路径下(指定路径也是cdn)。

再登录其他服务器,使用scp命令把78的文件传到79上。

scp -v -r useradmin@10.123.123.78:/home/useradmin/cdn useradmin@10.123.123.79:/home/useradmin/cdn

-v是debug模式,可以看到命令执行的详细情况;也可以使用-vvv查看更详细的情况。

useradmin是用户名,默认路径在home下。

这条命令把78上的cdn文件夹及其中内容传到了79的指定路径下(指定路径也是cdn)。

scp免密传输方法中,可能出现因为文件权限不明确,导致rsa密钥无法生效。执行scp还是需要输入密码。所以需要先配置好文件权限。使用sshpass命令,但是需要安装,否则会提示command not found.

sshpass -p s123456s scp -v -r /home/useradmin/cdn useradmin@10.123.123.79:/home/useradmin/cdn

其中,s123456s是服务器79的useradmin用户的密码。

配置免密登录(rsa),登录后端服务器79,执行命令,生成无密码的密钥对。按回车继续即可,会在/home/useradmin/.ssh下生成2个文件。

ssh-keygen -t rsa

在79上执行命令,将密钥文件传给前端服务器78这个命令从79把id_rsa.pub文件传到了78服务器的/home/useradmin/目录下;这里需要先输入一次78的密码。

scp -v -r /home/useradmin/.ssh/id_rsa.pub useradmin@10.123.123.78:/home/useradmin/

登录前端服务器78,执行命令,将公钥添加到本地认证文件中。如果提示文件不存在,可以先执行’ssh-keygen -t rsa’命令,会自动创建.ssh文件夹,然后执行下面的命令就不会报错了。

cat /home/useradmin/id_rsa.pub >> /home/useradmin/.ssh/authorized_keys

重要,执行以下命令,设置78的路径权限与文件权限。

chmod 700  /home/useradmin

chmod 700 /home/useradmin/.ssh

chmod 600 /home/useradmin/.ssh/authorized_keys

以上权限不能图省事,设置为777;用户路径权限必须是700;.ssh路径权限必须是700;authorized_keys的权限必须是600;权限错误会导致免密登录无效,执行scp命令还是会要求输入密码。按照上方的步骤,反过来配置下这两台服务器。现在从前端服务器78可以免密访问后端服务器79了,可以登录78,执行scp命令测试,如果不用输入密码,即是配置成功。

scp -v -r /home/useradmin/cdn useradmin@10.123.123.79:/home/useradmin/cdn

想从79免密访问78,可以登录79,执行scp命令测试。

scp -v -r useradmin@10.123.123.78:/home/useradmin/cdn /home/useradmin/cdn

华纳云 推荐文章
优化新加坡服务器网络和性能常用命令 Docker容器怎么与宿主机资源隔离与共享? 在Hadoop中怎么实现动态增加和删除节点? 如何在centos中进行系统备份的自动化管理 Ubuntu上安装Docker的方法是什么 PHP数据库分表容量管理如何实现? linux sudo命令用不了怎么解决 mysql数据库备份和恢复的方法 centos密码正确,但是却无法登录怎么办? iis如何绑定域名
客服咨询
7*24小时技术支持
技术支持
渠道支持