SSH:scp命令传输访问被拒(使用密钥对无密码传输)

本文介绍如何通过配置SSH密钥对实现服务器之间的无密码登录,包括密钥对的使用、授权文件的设置及权限调整等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

抛出问题

最近做服务器迁移,打包传输项目至目标服务器,如果项目小的话,我们当然可以通过Lrzsz 命令来传输,如果较大的话,我们就得通过scp命令或者tcp等命令来传输。但是像新服务器传输的时候,提示访问被拒绝,我想通过加密对来,做无密码传输。


皮一下

首先我们要去发起服务器里看ssh的配置,在/root/.ssh/目录下
这里写图片描述

id_rsaid_rsa.pub即为秘钥对,anthorized_keys 就是存放公钥的地方,know_hosts 为通信之间的记录。我们发现在新的服务器中,.ssh目录中有 anthorized_keysknow_hosts两个文件,并没有秘钥对。


  1. 我们需要把发起服务中的秘钥对复制到目标服务器中。
  2. 我们需要把id_rsa.pub公钥内容粘贴到anthorized_keys中,并放到第一条。
  3. 当运行命令是会出现这种情况

“Permissions 0644 for ‘/root/.ssh/id_rsa’ are too open”
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600

将权限由0644降低为0600
chmod 0600 ~/.ssh/id_rsa

  • 如果都准备完毕,就去运行命令。

    如果还是不行,我们需要观察目标服务器的know_hosts, 查看请求IP下的秘钥是不是请求IP的公钥,如果不是则删除之前的秘钥,修改为请求服务器的公钥。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值