配置ssh基于public key认证

本文探讨了SSH连接中遇到的权限问题,包括通过用户名和口令、publickey方式实现客户端认证的过程。重点介绍了在遇到登录时仍需输入密码的情况时,通过调整.ssh目录权限的解决方案,并解释了权限过大可能带来的问题。

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

ssh连接可以以用户名和口令的形式来连接也可以采用public key方式来实现客户端的认证。这也就是通常大家所说的免输密码的方式登录。

在实际操作的时候,只需要做很少的工作:

1)在client端使用ssh-keygen命令生成公钥和私钥

2)  拷贝client端的公钥到服务器端,可以使用scp命令

3)  将公钥中的内容写入到服务器的~/.ssh/authorized_keys文件中:cat id_rsa.pub >> ~/.ssh/authorized_keys

正常情况下这样就搞定了,linux比较好玩的就是经常容易发生一些意外的小插曲,解决这些意外的小插曲常常也会带来一些意外的小收获。今天我就又遇上了一段小插曲,一切操作正常,但就是还得输密码,参看各种书籍资料之后终于找到问题了,在这里有解释:http://www.openssh.com/faq.html#3.14

 写道
Typically this is caused by the file permissions on $HOME, $HOME/.ssh or $HOME/.ssh/authorized_keys being more permissive than sshd allows by default.

In this case, it can be solved by executing the following on the server.

$ chmod go-w $HOME $HOME/.ssh
$ chmod 600 $HOME/.ssh/authorized_keys $ chown `whoami` $HOME/.ssh/authorized_keys
If this is not possible for some reason, an alternative is to set StrictModes no in sshd_config, however this is not recommended.
 我的问题是出在.ssh目录的权限过大,之前是775,chmod -R go-w .ssh之后问题就解决了,不是很能理解为什么权限过大了会有问题,如果权限有问题那也是权限过小时有问题,总之问题解决了并且进一步熟悉了linux对文件权限的管理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值