关于ssh-copy-id username@hostname执行后出现权限问题

在Debian10云服务器上部署SSH证书遇到问题,经过重装系统和一系列用户权限调整,包括生成SSH密钥对、修改文件所有者和组、添加非root用户user-a以及处理用户目录权限,最终成功实现SSH证书登录。关键步骤包括确保文件owner和group正确,以及使用ssh-copy-id上传证书。
摘要由CSDN通过智能技术生成

首先作为踩坑记录mark一下:
背景:布署了一台云服务器debian10, 在本地ubuntu16.04上面用user-a用户更新SSH证书,并希望将新的证书上传到云服务器debian10上面,实现SSH证书登录。由于中间有一些操作导致需要重装debian10,中间穿插用了一些root操作,后面重装后的debian10不能上传ssh证书了,搞了好一阵子,还没有成功,就有点急了。

最后决定全部重新走一遍看看到底是啥问题,最终完成,个人认为需要关注owner,group,这两种属性,如果命令不行,就人为干预。

(1)user-a用户生成证书:

ssh-keygen -t ras -b 4096

(2)结果:

user-a@local-linux:~/.ssh$ ls
id_rsa  id_rsa.pub  known_hosts
生成的文件其中owner与group可能有的机器会是与root相关,所以会在使用ssh-copy-id时报权限问题,我的作法是直接全部改回为user-a(owner与group)

(3)改证书权限(应该是非必要的):
sudo chown -R user-a user-a (前面一个user-a是用户名,后面一个user-a是用户文件夹名)
sudo chgrp -R user-a user-a (前面一个user-a是用户名,后面一个user-a是用户文件夹名)

(4)然后在云服务器debian10上面,添加新的非root用户user-a 添加用户,应该也会生成用户目录,我实际操作时没有生成,但是前面的几次是生成了的,所以目前还没有确认具体问题;
debian10:~$useradd -G sudo -m user-a -s /bin/bash
debian10:~$passwd user-a
(5)关于没有生成用户目录,我直接用户创建,然后递归改owner与group到user-a
(6)然后在本地ubuntu16.04上面用user-a用户上传ssh证书

ssh-copy-id user-a@123.345.22.11

此处应该会询问user-a在云服务器debain10上面的passwd, 输入之后应该就会登录进debian10了。

如果还是有问题,建议把本地的干掉

rm -rf ~/.ssh/*

然后重新走一遍ssh证书生成, 就这几招试试。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值